imagemagick蒙太奇:插入不同大小的图像

时间:2020-04-13 06:01:59

标签: imagemagick montage

我有一个大小为800x600的图像a.png,以及两个大小分别为400x300的图像b.png和c.png。我想将没有大小变化的三个图像蒙太奇(插入)为大小为800x900的png图像,例如a.png位于顶部,b.png和c.png并排在下面。

如何使用imagemagick转换或蒙太奇实现此目的?

1 个答案:

答案 0 :(得分:2)

生成样本图像,是实际大小的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

enter image description here

或者,如果您不喜欢括号,可以将B和C并排连接到一个图像中,加载A,交换顺序,使A在顶部,然后在下面附加组合的图像:

magick b.png c.png +append a.png +swap -append result.png

请注意以下两者之间的区别:

  • +append的意思是“附加到右侧”
  • -append的意思是“在下面附加”

请注意,除了+append-append外,还有一些名为+smush-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

enter image description here

如果仍使用v6 ImageMagick ,请将magick替换为convert