Imagemagick:水平/垂直堆叠图像并匹配高度/宽度

Imagemagick:水平/垂直堆叠图像并匹配高度/宽度

例如 1.jpg、2.jpg 的尺寸分别为 axb、cxd。

如果我运行类似的程序convert +append 1.jpg 2.jpg out.jpg。我希望 out.jpg 是 (a+c)xb 或 (a+c)xd。

如果我运行类似的程序convert -append 1.jpg 2.jpg out.jpg。我希望 out.jpg 是 ax(b+d) 或 cx(b+d)。

可以使用 Imagemagick 来做吗?

答案1

我最终写了一个小脚本。

水平附加两幅图像并匹配最小高度:

h1=$(identify -ping -format "%h" 1.jpg) &&
h2=$(identify -ping -format "%h" 2.jpg) &&
min_h=$(( h1 < h2 ? h1 : h2 )) &&
convert 1.jpg -resize x$min_h\> 1_shrink.jpg &&
convert 2.jpg -resize x$min_h\> 2_shrink.jpg &&
convert +append 1_shrink.jpg 2_shrink.jpg out.jpg &&
rm 1_shrink.jpg 2_shrink.jpg

垂直附加两幅图像并匹配最小宽度:

w1=$(identify -ping -format "%w" 1.jpg) &&
w2=$(identify -ping -format "%w" 2.jpg) &&
min_w=$(( w1 < w2 ? w1 : w2 )) &&
convert 1.jpg -resize $min_w\> 1_shrink.jpg &&
convert 2.jpg -resize $min_w\> 2_shrink.jpg &&
convert -append 1_shrink.jpg 2_shrink.jpg out.jpg &&
rm 1_shrink.jpg 2_shrink.jpg

如果要匹配到两幅图像的最大尺寸,只需将括号中的条件从 更改为<即可>

相关内容