GraphicsMagick - 如何使用标准输入和输出管道两个命令



我想用管道连接两个不同的graphicsmagick命令,就像一个例子一样,创建一个平铺的图像,然后添加一个边框。我从手册中理解的"-"应该用作标准输入或输出,所以这就是我尝试的:

gm montage -geometry +20+20 -tile 2x2 /home/pi/*.jpg - | gm convert -border 150x150 - /home/pi/test.jpg 

但由于我不理解的原因,它中断了这个错误消息:

gm montage: No encode delegate for this image format (-) [No such file or directory].

知道我做错了什么吗?任何提示都将不胜感激。。。

尝试指定要通过stdin/stdout发送的文件类型,例如MIFF(Magick Image file Format),它将保留所有元数据并对管道中的图像进行无损编码:

gm montage -tile 2x2 *.jpg miff:- | gm convert miff:- -border 150x150 result.png

顺便说一句,你也可以使用PNG:-JPEG:-——只是MIFF是最好的。

最新更新