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

Если вы хотите сопоставить максимальный размер двух изображений, просто измените условие в скобках с <на >.

Связанный контент