2016-03-14 5 views
1

Я пытаюсь создать анимированный 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' навсегда, а' 1' и '2' работают точно так, как ожидалось, а' 1' воспроизводит анимацию ровно один раз? – Ezra

+0

Хм ... Что вы используете, чтобы играть в gif? Я использую хром. Возможно, это играет дважды. – DanneJ

+0

Я использовал Firefox. – Ezra

ответ

0

Браузеры интерпретируют по-разному счетчик циклов. Для одного цикла gif Chrome зацикливается дважды, в то время как Firefox воспроизводит анимацию ровно один раз.

См. Этот выпуск GifCreator - Unable to create non loop GIF image.