在ImageMagick documentation中,它表示如果你使用montage
而没有任何花哨的选项,它应该只是排列你的图像而没有任何装饰和一些间距。
我没有发生这种情况。这是我的两个输入图像:
这是两个单独的PNG,尺寸均为100x100,背景为红色。现在,如果我运行montage 1.png 2.png out.png
,它会生成一个如下所示的图像文件out.png
:
您可能会注意到,那里有标签。我已经尝试了一切,但我无法删除这些标签。例如,将-label ""
添加到命令会产生以下结果:
由于白色背景,它并不明显,但标签的空间仍然是图像的一部分,那里什么都没有。
最终的结果是我想紧紧包装这些图像(所以这两个会产生200x100 png),我希望这个命令是这样的:montage -geometry 100x100+0+0 -label "" -background blue 1.png 2.png out3.png
我在这里做了背景为蓝色以突出显示"标签"区域,在最终版本中它不应该是必要的。这就是该命令产生的内容:
图像尺寸为200x118,表示它为标签添加了18个像素。除了使标签成为数字之外,删除命令的label参数不会做任何事情。我想我已经失去了一点思绪,我已经尝试过这个命令的几十种变体,没有什么可以摆脱那个"标签空间"。鉴于它们默认显示,并且文档表明它不应该,我开始怀疑它是ImageMagick中的一个错误,但又一次:失去理智。我想我可能只是遗漏了一些明显的东西。
我在macOS上,通过Homebrew安装ImageMagick,虽然我直接从他们的网站上试用了这个版本,但它没有用。这是montage -version
报告的内容:
Version: ImageMagick 7.0.5-7 Q16 x86_64 2017-05-20 http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules
Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib
答案 0 :(得分:2)
默认几何体为+ 2 + 2,因此如果您希望它们不附加空格,则必须使用-geometry + 0 + 0。
此外,您的文件的元数据标签分别为1和2。因此,即使我将文件名更改为a.png和b.png,蒙太奇也将应用1和2的标签。标签将始终显示在元数据中,或者如果您使用-label" XYZ&# 34; or -label"%f"。如果您不想显示标签,请删除标签。但即使你使用-label""或-set label"",它仍然在元数据中留下空标签。所以它会在底部留下一个空白区域。
magick montage 1.png 2.png -background blue -set label"" -geometry + 0 + 0 result1.png
之后你可以做一面(受保护)-trim去除白色。但你必须从蒙太奇到魔法(转换)管道,并在另一侧用黑色填充。
但是,您可以使用带pnm的管道:删除标签,因为pnm不带标签属性。 (如果使用miff:或tiff:,即使你执行-strip,它也会带有label属性)。所以这个命令就像+ append一样工作,但是如果你不想要任何空间就可以更容易地使用+ append
magick 1.png 2.png pnm:- | magick montage - -background blue -geometry +0+0 result2.png
答案 1 :(得分:1)