172
172
使用ImageMagick合并多个图像
我想用ImageMagick将多张图片合并成一张图片。为了更好的解释,我希望结果类似于这样。
也就是说,我有很多张截图,我想把它们变成一张图片,并把原来的图片放在一起。
通过谷歌搜索,我发现了'合成'命令,但我不知道是否可以,以及在这种情况下如何使用它来获得我想要的结果。
我想用ImageMagick将多张图片合并成一张图片。为了更好的解释,我希望结果类似于这样。
也就是说,我有很多张截图,我想把它们变成一张图片,并把原来的图片放在一起。
通过谷歌搜索,我发现了'合成'命令,但我不知道是否可以,以及在这种情况下如何使用它来获得我想要的结果。
对于任何数量的名为in-<something>.jpg
的输入文件。
convert -append in-*.jpg out.jpg
为了让特定的文件被追加,或者跳过数字而不是得到完整的 “glob",你可以明确地提到输入文件,并在后面加上append
命令
convert in-1.jpg in-5.jpg in-_N_.jpg +append out-in1-plus-in5-and-in_N_.jpg
你可以使用-append
(而不是+append
)进行垂直粘贴。
或者:
montage -mode concatenate -tile 1x in-*.jpg out.jpg
也会创建一个文件out.jpg
,其中包含源图像的垂直连缀。
convert
对于单行或单列的简单连接,append
工具的convert
选项就足够了。请注意,-append
垂直连接所有图像,创建一列n行,+append
水平连接,创建一行n列。
(参见 ImageMagick: Command-line Options .)
montage
要想对布局进行更精细的控制,我们需要使用 montage
工具。montage -mode concatenate
会像append
选项一样将输入的图像粘合在一起,-tile 1x
控制要应用的布局。
tile
遵循的格式是columns×rows,但任何一边都可能缺失,montage
会想办法满足约束条件。
我们在这里使用1x
(正好是一列,行数不限)来获得和-append
一样的效果。如果没有-tile 1x
,就会像+append
一样加入图像,默认为-tile x1
(一行任意列数)。
(参见 ImageMagick 示例:蒙太奇,图像数组 。)