.xpm
我需要将我的代码生成的大量(~10k)文件转换为一个.gif
文件。
我按照这里的说明使用了 ImageMagick:如何将 PNG 条带转换为 GIF?
但是我的文件名是这样的plot*.xpm
,*从 0 到 10000,而转换命令似乎无法正确理解它,并且只生成.gif
一个只有几帧的文件。
它们以蓝点和绿点的非随机分布结束。(比如中间有一个蓝色圆圈)比如说第 1000 帧。(由于发布限制,我无法附上它的图片)
我使用这行代码:
convert -loop 0 -delay 10 -page +0+0 /*.xpm output.gif
我认为我应该使用另一种方法将.xpm
文件引入 ImageMagick。
我应该怎么做?
答案1
看起来您的所有图片都已转换,但顺序不如您所期望的正确。
根据我的经验,这些convert
命令无法处理与您使用的文件名格式相同的文件。它适用于以下类型的文件:
file100
file10
file11
file1
file200
file20
file21
file2
...
因此,您需要在转换之前重命名所有文件。因此,您的文件名应如下所示:
file00001
file00002
...
file00010
...
file10000
这是我写的。看看使用它是否可以解决你的问题:
rename 's/plot(\d{1})\.xpm/plot0000$1\.xpm/' * # plot#.xpm > plot0000#.xpm
rename 's/plot(\d{2})\.xpm/plot000$1\.xpm/' * # plot##.xpm > plot000##.xpm
rename 's/plot(\d{3})\.xpm/plot00$1\.xpm/' * # plot###.xpm > plot00###.xpm
rename 's/plot(\d{4})\.xpm/plot0$1\.xpm/' * # plot####.xpm > plot0####.xpm
convert -loop 0 -delay 10 *.xpm output.gif