我有一个大小为 800x600 的图像 a.png,以及两个大小分别为 400x300 的图像 b.png 和 c.png。我想将三个没有大小变化的图像蒙太奇(插入)成一个大小为 800x900 的 png 图像,这样 a.png 位于顶部,b.png 和 c.png 并排位于下方。
如何使用 imagemagick convert 或 montage 做到这一点?
我有一个大小为 800x600 的图像 a.png,以及两个大小分别为 400x300 的图像 b.png 和 c.png。我想将三个没有大小变化的图像蒙太奇(插入)成一个大小为 800x900 的 png 图像,这样 a.png 位于顶部,b.png 和 c.png 并排位于下方。
如何使用 imagemagick convert 或 montage 做到这一点?
生成样本图像,实际大小的 1/10:
magick -size 80x60 -background red -gravity center label:"A" a.png
magick -size 40x30 -background lime -gravity center label:"B" b.png
magick -size 40x30 -background blue -gravity center label:"C" c.png
现在,您可以加载 A,然后在括号内加载 B 和 C,并将其并排放置为新图像,然后将结果附加到 A 下方:
magick a.png \( b.png c.png +append \) -append result.png
或者,如果您不喜欢括号,您可以将 B 和 C 并排连接到一个图像中,加载 A,交换顺序,使 A 位于顶部,然后在下面附加组合图像:
magick b.png c.png +append a.png +swap -append result.png
注意以下之间的区别:
+append
意思是“附加到右边”,和-append
意思是“附加在下面”。请注意,除了+append
and之外-append
,还有一些较新的工具称为+smush
and -smush
,它们的功能完全相同,但采用的参数是偏移附加的像素数。因此,如果你这样做+smush 5
,它会做同样的事情,+append
但会在图像之间的新间隙中显示 5 个像素的背景颜色。如果您使用负偏移量,它将附加在同一个位置,但将两个图像重叠偏移量。
这是一个示例,我将背景设为洋红色,并以 10 像素的间隙涂抹 B 和 C。然后将背景更改为黄色,然后以 15 像素的偏移量将 A 下面的结果弄脏。
magick -background magenta b.png c.png +smush 10 a.png +swap -background yellow -smush 15 result.png
如果仍在使用 v6 ImageMagick,请替换magick
为convert
.