如何使用 golang 压缩和调整 gif 的大小

how to use golang compress and resize a gif

是否有使用golang压缩和调整gif大小的方法或库?

ps: 我试过bimg,但是不支持gif

我从未使用过,但我认为您可以使用标准库(导入 "image/gif")read/write GIF。然后使用类似 "resize" 的方式调整大小(参见 Go Resizing Images

请参阅文档 https://golang.org/pkg/image/gif/#GIF

func DecodeAll(r io.Reader) (*GIF, error)

现在您可以获得 GIF 结构

type GIF struct {
        Image []*image.Paletted // The successive images.

然后您可以调整 GIF 中每个图像的大小。

for _,img:=range gif.Image{
    resize(img)
}

PS:image.Paletted 已实现 image.Image,因此您可以使用 https://github.com/nfnt/resize 调整图像大小。