// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . package main import ( "bytes" "fmt" "github.com/TeaOSLab/EdgeNode/internal/utils/heif/libheif" "image" "log" "os" "reflect" _ "image/jpeg" _ "image/png" ) func main() { cwd, err := os.Getwd() if err != nil { log.Fatal(err) return } var dir = cwd + "/internal/utils/heif/libheif/main" data, err := os.ReadFile(dir + "/test.jpg") if err != nil { log.Fatal(err) } log.Println(image.DecodeConfig(bytes.NewReader(data))) img, _, err := image.Decode(bytes.NewBuffer(data)) if err != nil { log.Fatal(err) } log.Print(reflect.TypeOf(img).String()) ctx, err := _libheif.EncodeFromImage(img, _libheif.CompressionUndefined, 30, _libheif.LosslessModeDisabled, _libheif.LoggingLevelBasic) if err != nil { log.Fatal(fmt.Errorf("encode failed: %w", err)) } err = ctx.WriteToFile(dir + "/test.avif") if err != nil { log.Fatal(fmt.Errorf("write failed: %w", err)) } }