使用convert垂直连接多个图像产生许多输出



我试图将多个.jpg文件附加到包含垂直堆叠单个结果的单个大图像文件中。在我看来,Imagemagick的convert有一个有点不稳定的行为,当它涉及到-append,即垂直明智,当我试图展开一个文件列表作为通配符参数传递,如在指令convert -append pg*.jpg out.jpg

该命令为目录中的每个源映像创建一个输出文件。即使这样,这些文件也不是串联。它们只不过是原件的复制品。我希望有一个叠加的单一输出。

使用+append可以很好地进行水平堆叠。当我输入每个单独文件的名称convert -append pg-01.jpg pg-02.jpg pg-03.jpg pg-04.jpg ... output.jpg时,也可以工作。扩展(*)适用于一小部分文件,如7或8。

我试过了convert -append `for x in img/pg-*; do echo $x; done;` img/out.jpg但我不知道为什么它不工作!

由于我正在处理一堆图像,我想知道是否有任何替代GNU/Linux的方法,或者为什么它的行为是这样的。

如果您能提供任何信息,我将不胜感激。

编辑:我忘了提一下,当出现意外输出时,我会得到这个错误:convert-im6.q16: width or height exceeds limit `pg-01.jpg' @ error/cache.c/OpenPixelCache/3911.。所有图片都具有相同的宽度/高度。

注释这些行:

<policy domain="resource" name="width" value="16KP"/>
<policy domain="resource" name="height" value="16KP"/>

In/etc/ImageMagick-6/policy.xml似乎已经解决了这个问题。

最新更新