Allow use of native image/jpeg

This commit is contained in:
Milan Nikolic
2018-07-17 14:51:18 +02:00
parent fa5233255e
commit d340fa2dc3
3 changed files with 33 additions and 2 deletions

View File

@@ -12,7 +12,7 @@ or
### Requirements
* [OpenCV](http://opencv.org/) (default is version 2.x via [go-opencv](https://github.com/lazywei/go-opencv), use `-tags cv3` for [gocv](https://github.com/hybridgroup/gocv))
* [libjpeg-turbo](https://www.libjpeg-turbo.org/)
* [libjpeg-turbo](https://www.libjpeg-turbo.org/) (use `-tags jpeg` for native image/jpeg)
### Download

View File

@@ -1,9 +1,10 @@
// +build !jpeg
// Package encoder.
package encoder
import (
"image"
//"image/jpeg"
"io"
jpeg "github.com/antonini/golibjpegturbo"

30
encoder/encode_jpeg.go Normal file
View File

@@ -0,0 +1,30 @@
// +build jpeg
// Package encoder.
package encoder
import (
"image"
"image/jpeg"
"io"
)
// New returns a new Encoder.
func New(w io.Writer) *Encoder {
return &Encoder{w}
}
// Encoder struct.
type Encoder struct {
w io.Writer
}
// Encode encodes image to JPEG.
func (e Encoder) Encode(img image.Image) error {
err := jpeg.Encode(e.w, img, &jpeg.Options{Quality: 75})
if err != nil {
return err
}
return nil
}