Add jpegli

This commit is contained in:
Milan Nikolic
2025-06-13 18:42:00 +02:00
parent 84135f3304
commit 711ad2f102
9 changed files with 83 additions and 5 deletions

35
image/encode_jpegli.go Normal file
View File

@@ -0,0 +1,35 @@
//go:build jpegli
// Package image.
package image
import (
"image"
"io"
"github.com/gen2brain/jpegli"
)
// NewEncoder returns a new Encoder.
func NewEncoder(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 {
return jpegli.Encode(e.w, img, &jpegli.EncodingOptions{
Quality: 75,
ProgressiveLevel: 0,
ChromaSubsampling: image.YCbCrSubsampleRatio420,
DCTMethod: jpegli.DCTIFast,
OptimizeCoding: false,
AdaptiveQuantization: false,
StandardQuantTables: false,
FancyDownsampling: false,
})
}