如何将文件列表传递给 ImageMagick 的蒙太奇?

如何将文件列表传递给 ImageMagick 的蒙太奇?

我有大量的图块,具有以下命名约定:

A-x-y.jpg

在哪里

0<=x<=16 &
0<=y<=14

现在我知道了我们可以使用蒙太奇工具在 ImageMagick 中将它们合并为一个完整的图像。

理想情况下,我可以使用以下命令行:

montage *.jpg -geometry +0+0 -tile 17x15 all.jpg

但是我的文件是这样的,A-0-0.jpg 位于 A-0-1.jpg 正上方,A-0-1.jpg 位于 A-0-2.jpg 上方,而 A-1-0.jpg 位于 A-0-0.jpg 右侧。

因此,当我使用上述命令时,顺序是错误的。我有一个顺序正确的文本文件。我可以使用文本文件作为蒙太奇的输入吗?如果可以,我该怎么做?

答案1

在较新版本的 ImagMagick 中(即 >v6.5.2-1) @操作员可以像这样使用:

montage @list.txt -geometry +0+0 -tile 17x15 all.jpg

答案2

看起来像 montage 不支持“带有文件名的文件”参数。

编辑:@Devdatta 找到了正确的语法(另请参阅这里):。@filenames.txt因此,下面的方法只对非常老版本的 ImageMagick 工具才是必要的。


但是如果你使用的是 Linux 或类 Unix 系统,你可以用命令的输出替换文件名参数。这样,​​你就可以使用有序文件名的文件:

montage `cat filenames.txt` -geometry +0+0 -tile 17x15 all.jpg

(请注意 cat 命令周围的反引号。)

中文件名之间的换行符filename.txt不会对命令调用造成任何损害。您甚至可以在 中使用通配符filename.txt,因为命令替换先于文件名扩展。

当然,您也可以预先重命名源文件以获得所需的顺序。

相关内容