Imagemagick: apilar imágenes horizontal/verticalmente y hacer coincidir la altura/ancho

Imagemagick: apilar imágenes horizontal/verticalmente y hacer coincidir la altura/ancho

Por ejemplo 1.jpg, 2.jpg que son de dimensión axb, cxd.

Si ejecuto algo como convert +append 1.jpg 2.jpg out.jpg. Me gustaría que el archivo out.jpg sea (a+c)xb o (a+c)xd.

Si ejecuto algo como convert -append 1.jpg 2.jpg out.jpg. Me gustaría que el archivo out.jpg sea ax(b+d) o cx(b+d).

¿Es posible hacerlo con Imagemagick?

Respuesta1

Terminé escribiendo un pequeño guión.

Agregue dos imágenes horizontalmente y hagalas coincidir con la altura mínima:

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

Agregue dos imágenes verticalmente y haga coincidir el ancho mínimo:

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

Si desea hacer coincidir la dimensión máxima de las dos imágenes, simplemente cambie la condición entre paréntesis de <a >.

información relacionada