Module for converting Image To Avif
go get github.com/aejoy/mita
A simple example of converting PNG to AVIF:
package main
import (
"os"
"image"
_ "image/png"
_ "image/jpeg"
"bytes"
"github.com/aejoy/mita"
)
func main() {
src, err := os.ReadFile(srcPath)
if err != nil {
panic(err)
}
img, _, err := image.Decode(bytes.NewReader(src))
if err != nil {
panic(err)
}
dst, err := os.Create(dstPath)
if err != nil {
panic(err)
}
defer dst.Close()
if _, err := dst.Write(mita.Encode(img, Options{
Quality: 75,
Speed: 10,
})); err != nil {
panic(err)
}
}