我想要一个背景图像,其中另一个图像合成在顶部到底部边缘。最终图像将具有最大宽度(例如,1000px,但可能更小)。合成图像的宽度可以缩小,但总是需要在底部。我似乎无法通过imagemagick在一个命令中找到完成这一切的方法。
以下是一些虚拟图像作为例子。
要在背景中合成的图像:
以下是我想要的最终产品的两个例子: 这个宽960像素,但合成的图像是齐平的底部和左/右边缘。
这个很窄,但是合成的图像缩小了,使其向下/向左/向右冲洗。
由于图像的大小和宽高比可能不同,因此我不需要进行某种外部计算来缩放和定位合成图像。我觉得在imagemagick中这应该是可能的,对吗?
答案 0 :(得分:1)
预先确定背景图像的宽度是最容易的。
#!/bin/bash
# Get background width
WIDTH=`convert background.jpg -format "%w" info:`
# Apply composite
convert background.jpg \
\( arrows.png -resize "${WIDTH}x" \) \
-alpha set \
-gravity South \
-compose ATop \
-composite output.png
\( arrows.png -resize "${WIDTH}x" \)
是匹配宽度的子流程,-gravity South
会将箭头固定在底部。