Encode
f, _ := os.Create("out.png")
defer f.Close()
png.Encode(f, img)
image/pngEncode and decode PNG. Loss-less. Import _ "image/png" to register it with image.Decode.
f, _ := os.Create("out.png")
defer f.Close()
png.Encode(f, img)
f, _ := os.Open("in.png")
defer f.Close()
img, err := png.Decode(f)
e := &png.Encoder{CompressionLevel: png.BestCompression}
e.Encode(f, img)