ImageMagick:帧顺序错误GIF

ImageMagick:帧顺序错误GIF,imagemagick,imagemagick-convert,scilab,Imagemagick,Imagemagick Convert,Scilab,我正在尝试使用从Scilab导出的一些帧创建GIF。这些帧被命名为anim_1.gif、anim_2.gif。。。以此类推,直到100岁 我在Windows shell中使用此行创建GIF: convert -delay 10 -loop 0 anim_*.gif animation.gif 我的问题是,我看到的ImageMagick不是以数字顺序创建GIF,而是以1,10100,11,12…,2,20,21。。。等等 我对ImageMagick不是很熟悉,阅读帮助页面也没有什么帮助:/ 有人

我正在尝试使用从Scilab导出的一些帧创建GIF。这些帧被命名为anim_1.gif、anim_2.gif。。。以此类推,直到100岁

我在Windows shell中使用此行创建GIF:

convert -delay 10 -loop 0 anim_*.gif animation.gif
我的问题是,我看到的ImageMagick不是以数字顺序创建GIF,而是以1,10100,11,12…,2,20,21。。。等等

我对ImageMagick不是很熟悉,阅读帮助页面也没有什么帮助:/

有人看到解决办法了吗


谢谢

默认目录列表将在2、20等之前显示1、10、100等。这是ImageMagick在使用通配符列表时读取它们的顺序。使用前导零重命名文件,如anim_001.gif、anim_002.gif等,可以解决您的问题。查看Scilab手册,了解如何使用前导零保存文件

另一种可能的方法是,假设您的输入文件按照创建时间排列,按时间/日期列出目录,将输出重定向到文本文件,然后让“convert”命令从该列表中读取输入图像。使用“@”和文件名将告诉IM您正在从文本文件读取输入图像列表。你可以试试这样的

dir /o:d /b anim_*.gif > tmp.txt
convert -delay 10 -loop 0 @tmp.txt animation.gif

我已经尝试了第一种方法,但第二种方法不起作用,非常感谢

但我不太清楚到底发生了什么。 我真的不明白第一行,为什么我现在能够以良好的顺序阅读帧

我的猜测是.txt文件按创建时间的顺序存储帧,当我从.txt文件读取时,它会读取创建时间而不是名称,以找到正确的顺序。是这样吗

无论如何,非常感谢:)