如何创建只播放一次的gif动画

时间:2016-03-14 23:33:20

标签: go gif animated-gif

我正在尝试生成一个只播放一次帧的动画gif。

当我将LoopCount设置为1时,它会播放两次帧。当我将LoopCount设置为0或-1时,它会无限循环。

img := image.(*image.Paletted)

outGif := &gif.GIF{}
outGif.LoopCount = 0
outGif.Image = append(outGif.Image, img)
outGif.Delay = append(outGif.Delay, 10)

f, err := os.Create("/tmp/test.gif")
if err != nil {
    panic(err)
}
defer f.Close()

gif.EncodeAll(f, outGif)

如何确保它只播放一次帧?

1 个答案:

答案 0 :(得分:0)

浏览器对循环计数器的解释不同。对于单循环gif,Chrome正在循环两次,而Firefox正在播放动画一次。

请参阅本期GifCreator - Unable to create non loop GIF image