0

ImageMagick 文档中,它说如果你在montage没有任何花哨的选项的情况下使用,它应该只排列你的图像,没有任何装饰和一些间距。

这不会发生在我身上。这是我的两个输入图像:

图片1 在此处输入图像描述

这是两个独立的 PNG,大小均为 100x100,背景为红色。现在,如果我运行montage 1.png 2.png out.png,它会生成一个如下所示的图像文件out.png

出.png

您可能会注意到,那里有标签。我已经尝试了所有方法,但我无法删除这些标签。例如,添加-label ""到命令会产生以下结果:

out2.png

由于白色背景,这并不明显,但标签的空间仍然是图像的一部分,那里什么都没有。

最终结果是我想紧紧地打包这些图像(所以这两个会产生一个 200x100 png),我希望命令是这样的:montage -geometry 100x100+0+0 -label "" -background blue 1.png 2.png out3.png这里我将背景设为蓝色以突出显示“标签”区域,在最终版本中应该没有必要。这是该命令产生的结果:

out3.png

图片大小为 200x118,表示为标签添加了 18 个像素。删除命令的标签参数除了使标签成为数字之外什么都不做。我想我有点失去理智了,我已经尝试了这个命令的几十种变体,但没有什么能摆脱那个“标签空间”。鉴于它们默认显示,并且文档表明它不应该出现,我开始怀疑这是 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
4

2 回答 2

3

默认几何是+2+2,所以如果你希望它们没有空格,那么你必须使用-geometry +0+0。

此外,您的文件的元数据标签分别为 1 和 2。因此,即使我将文件名更改为 a.png 和 b.png,蒙太奇也会应用标签 1 和 2。标签将始终显示在元数据中,或者如果您使用 -label "XYZ" 或 -label “%F”。如果您不想显示标签,请移除标签。但即使你使用 -label "" 或 -set label "",它仍然会在元数据中留下一个空标签。所以它会在底部留下一个空白区域。

魔术蒙太奇 1.png 2.png -背景蓝色 -设置标签“” -几何 +0+0 result1.png

在此处输入图像描述

之后您可以进行单面(受保护)修剪以去除白色。但是你必须从蒙太奇管道到魔法(转换)并在另一侧用黑色填充。

但是,您可以只使用带有 pnm: 的管道来删除标签,因为 pnm 不带有标签属性。(如果你使用 miff: 或 tiff:,即使你做了 -strip,它也会携带 label 属性)。所以这个命令将像 +append 一样工作,但如果你不想要任何空间,使用 +append 会更容易

magick 1.png 2.png pnm:- | magick montage - -background blue -geometry +0+0 result2.png

在此处输入图像描述

于 2017-05-24T18:18:22.647 回答
1

作为临时解决方法,只需使用它,直到它被整理出来:

convert [12].png +append out.png

在此处输入图像描述

或者,如果您想要更大的网格:

convert [123].png +append \( [456].png +append \) -append out.png

在此处输入图像描述

请注意,+append将并排附加,而-append将在下方附加。

于 2017-05-24T14:58:38.097 回答