package codec import ( "bytes" "image" "image/jpeg" "io" ) type JPGCoder struct{} func (coder JPGCoder) Decode(r io.Reader) (image.Image, error) { i, err := jpeg.Decode(r) if err != nil { return nil, err } return i, nil } func (coder JPGCoder) Encode(i image.Image, quality int) (buf bytes.Buffer, err error) { err = jpeg.Encode(&buf, i, &jpeg.Options{Quality: quality}) return buf, err }