2014-11-21 71 views
1

我需要制作一个动画gif,在停止前播放所有帧。这似乎是一件简单的事情,但由于某种原因,当我将-loop标志设置为2时,它会播放三次,而当我将它设置为1时,它只播放一次。所以:如何在imagemagick中制作两次动画gif循环?

#this will play once then stop 
convert -size 300x600 -delay 50 frame1.png -delay 50 frame2.png -loop 1 animation.gif; 

#this will play three times then stop 
convert -size 300x600 -delay 50 frame1.png -delay 50 frame2.png -loop 2 animation.gif; 

如何让它播放两次?

回答

2

我会说这是ImageMagick中的一个错误。作为解决方法,我只能建议您列出两次帧,并将-loop设置为1,如下所示:

convert -size 300x600 -delay 50 frame1.png frame2.png frame1.png frame2.png -loop 1 animation.gif 
+0

谢谢。我们也得出这是一个错误的结论。另一种纠正它的方法是在之后使用gifsicle更改循环设置,但这需要另一个库。 – 2014-11-23 13:36:00

+0

https://bugs.chromium.org/p/chromium/issues/detail?id=592735 当您将'-loop'设置为1时,ImageMagick不会编写循环扩展。 – clyfish 2017-07-24 09:54:35

+0

我创建了一个拉请求:https://github.com/ImageMagick/ImageMagick/pull/622 – clyfish 2017-07-26 13:08:39