我有一个大小为800x600的图像a.png,以及两个大小分别为400x300的图像b.png和c.png。我想将没有大小变化的三个图像蒙太奇(插入)为大小为800x900的png图像,例如a.png位于顶部,b.png和c.png并排在下面。
如何使用imagemagick转换或蒙太奇实现此目的?
答案 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
或者,如果您不喜欢括号,可以将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
如果仍使用v6 ImageMagick ,请将magick
替换为convert
。