如何创建只播放一次的 gif 动画
How to create a gif animation that plays only once
我正在尝试生成只播放一次帧的动画 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)
如何确保它只播放一次帧?
浏览器对循环计数器的解释不同。对于单循环 gif,Chrome 循环两次,而 Firefox 只播放一次动画。
我正在尝试生成只播放一次帧的动画 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)
如何确保它只播放一次帧?
浏览器对循环计数器的解释不同。对于单循环 gif,Chrome 循环两次,而 Firefox 只播放一次动画。