ImageMagick 蒙太奇始终包含标签

Osk*_*kar 1 imagemagick imagemagick-montage

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

\n\n

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

\n\n

图片1\n在此输入图像描述

\n\n

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

\n\n

输出.png

\n\n

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

\n\n

输出2.png

\n\n

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

\n\n

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

\n\n

输出3.png

\n\n

图像大小为 200x118,表示为标签添加了 18 个像素。删除命令的标签参数除了使标签成为数字之外没有任何作用。我想我有点失去理智了,我已经尝试了这个命令的几十种变体,但没有什么可以摆脱“标签空间”。鉴于它们默认显示,并且文档表明它不应该显示,我开始怀疑它是 ImageMagick 中的错误,但再次:失去了理智。我想我可能只是错过了一些明显的东西。

\n\n

我在 macOS 上通过 Homebrew 安装了 ImageMagick,尽管我尝试直接从他们的网站使用该版本,但它不起作用。报道是这样的montage -version

\n\n
Version: ImageMagick 7.0.5-7 Q16 x86_64 2017-05-20 http://www.imagemagick.org\nCopyright: \xc2\xa9 1999-2017 ImageMagick Studio LLC\nLicense: http://www.imagemagick.org/script/license.php\nFeatures: Cipher DPC HDRI Modules\nDelegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib\n
Run Code Online (Sandbox Code Playgroud)\n

fmw*_*w42 5

默认几何图形是+2+2,因此如果您希望它们不带空格附加,则必须使用-geometry +0+0。

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

magick montage 1.png 2.png -背景蓝色 -设置标签“” -几何 +0+0 result1.png

在此输入图像描述

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

但是,您可以仅使用带有 pnm: 的管道来删除标签,因为 pnm 不带有 label 属性。(如果你使用miff:或tiff:,即使你做了-strip,它也会带有label属性)。因此,此命令的工作方式类似于 +append,但如果您不需要任何空间,则使用 +append 会更容易

magick 1.png 2.png pnm:- | magick montage - -background blue -geometry +0+0 result2.png
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述