feat: replace webp lib by C libwebp

Avoid having to download anything
This commit is contained in:
Antoine Aflalo
2024-12-06 17:01:00 -05:00
parent 969993161f
commit f416f1ff32
8 changed files with 53 additions and 86 deletions

View File

@@ -1,22 +1,19 @@
package webp
import (
"github.com/belphemur/go-webpbin/v2"
"github.com/kolesa-team/go-webp/encoder"
"github.com/kolesa-team/go-webp/webp"
"image"
"io"
)
const libwebpVersion = "1.4.0"
func PrepareEncoder() error {
webpbin.SetLibVersion(libwebpVersion)
container := webpbin.NewCWebP()
return container.BinWrapper.Run()
return nil
}
func Encode(w io.Writer, m image.Image, quality uint) error {
return webpbin.NewCWebP().
Quality(quality).
InputImage(m).
Output(w).
Run()
options, err := encoder.NewLossyEncoderOptions(encoder.PresetDefault, float32(quality))
if err != nil {
return err
}
return webp.Encode(w, m, options)
}