www.byjp.me/tools/syndicate/shared/images/images.go
JP Hastings-Spital c135910850 Working pixelfed & insta posting
Syndicate is working! Instagra & Pixelfed demonstrated with the new post attached.

Lots of TODOs, but functional enough :)
2023-11-12 07:43:08 +00:00

36 lines
627 B
Go

package images
import (
"bytes"
"image"
"image/jpeg"
_ "image/png"
"io"
_ "golang.org/x/image/webp"
)
func ToJPEG(imgData []byte) (io.Reader, error) {
img, _, err := image.Decode(bytes.NewReader(imgData))
if err != nil {
return nil, err
}
var b bytes.Buffer
if err := jpeg.Encode(&b, img, &jpeg.Options{Quality: 100}); err != nil {
return nil, err
}
return &b, nil
}
func ToJPEGs(imgsData [][]byte) ([]io.Reader, error) {
jpgs := make([]io.Reader, len(imgsData))
for i, img := range imgsData {
var err error
jpgs[i], err = ToJPEG(img)
if err != nil {
return nil, err
}
}
return jpgs, nil
}