2014-11-21 67 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