1.4.5.2
This commit is contained in:
12
EdgeNode/internal/utils/heif/_libheif/main/build.sh
Normal file
12
EdgeNode/internal/utils/heif/_libheif/main/build.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
env GOOS=linux \
|
||||
GOARCH=amd64 \
|
||||
CC="/Users/WorkSpace/gcc/aarch64/13.2.0/x86_64-unknown-linux-gnu/bin/x86_64-linux-gnu-gcc" \
|
||||
CXX="/Users/WorkSpace/gcc/aarch64/13.2.0/x86_64-unknown-linux-gnu/bin/x86_64-linux-gnu-g++" \
|
||||
CGO_ENABLED=1 \
|
||||
CGO_LDFLAGS="-L/Users/WorkSpace/EdgeProject/EdgeNode/libs/_libheif/amd64 -lstdc++ -lm -ldl -lheif" \
|
||||
CGO_CFLAGS="-I/Users/WorkSpace/EdgeProject/EdgeNode/libs/_libheif/src/libheif" \
|
||||
CGO_CXXFLAGS="-I/Users/WorkSpace/EdgeProject/EdgeNode/libs/_libheif/src/libheif" \
|
||||
go build -o avif-test -ldflags "-linkmode external -extldflags -static -s -w" main.go
|
||||
#scp avif-test root@192.168.2.61:/root/
|
||||
47
EdgeNode/internal/utils/heif/_libheif/main/main.go
Normal file
47
EdgeNode/internal/utils/heif/_libheif/main/main.go
Normal file
@@ -0,0 +1,47 @@
|
||||
// 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))
|
||||
}
|
||||
}
|
||||
BIN
EdgeNode/internal/utils/heif/_libheif/main/test.avif
Normal file
BIN
EdgeNode/internal/utils/heif/_libheif/main/test.avif
Normal file
Binary file not shown.
BIN
EdgeNode/internal/utils/heif/_libheif/main/test.jpg
Normal file
BIN
EdgeNode/internal/utils/heif/_libheif/main/test.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.6 MiB |
BIN
EdgeNode/internal/utils/heif/_libheif/main/test.png
Normal file
BIN
EdgeNode/internal/utils/heif/_libheif/main/test.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 226 KiB |
Reference in New Issue
Block a user