2012-09-09 39 views
7

我有一堆名为foo<bar>.pngPNG文件我希望转换为TIF动画。 <bar>是一个数字,从0到25跳跃五次。 ImageMagick将foo5.png放在动画的最后,而它应该是第二个。除了将文件重命名为foo05.png以将它放在正确的位置之外,有没有办法?定义ImageMagick转换的文件顺序

回答

5

你只要给出你的PNG文件的顺序,因为它们应该出现在动画中。用途:

foo0.png foo5.png foo10.png foo15.png foo20.png foo25.png 

,而不是

foo*.png 

毕竟,这只是6这应该是很容易的输入不同的文件名:

convert              \ 
    -delay 10             \ 
    foo0.png foo5.png foo10.png foo15.png foo20.png foo25.png \ 
    -loop 0             \ 
    animated.gif 
+0

是否有其他办法吗?只是想知道... – Yotam

+0

@Yotam:看到我的其他答案... –

+0

@Yotam:你有没有看到我的其他答案? “upvote”不够好吗? –

14

如果您有更多的输入图像比是足够方便键入(比如foo0..foo100.png),你可以这样做(在Linux,Unix和Mac OS X上):

convert             \ 
    -delay 10            \ 
    $(for i in $(seq 0 5 100); do echo foo${i}.png; done) \ 
    -loop 0            \ 
    animated.gif 
+2

请注意,您也可以使用它来反转GIF的顺序:$(seq 100 -5 0) – MasterScrat

+0

注意,如果您只想反转正常顺序,则可以使用此方法,但用'$(ls -r * .PNG)'。 – Annan

1

您可以使用 “发现” 与 “分类”:

convert -delay 10 $(find . -name "*.png" -print0 | sort -zV | xargs -r0 echo) -loop 0 animated.gif