如何在imagemagick中制作两次动画gif循环?

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

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

#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;

如何让它播放两次?

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

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

非常感谢。我们还得出结论,这是一个bug。另一种纠正方法是在之后使用gifsicle更改循环设置,但这需要另一个库。将
-loop
设置为1时,ImageMagick不会写入循环扩展名。