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

結局、ちょっとした脚本を書くことになった。

2 つの画像を水平に追加し、最小の高さに合わせます。

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

2 つの画像を垂直に追加し、最小幅に一致させます。

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

2 つの画像の最大寸法に一致させたい場合は、括弧内の条件を から に変更するだけ<です>

関連情報