A menudo me encuentro en la necesidad de tomar muchas imágenes PNG y unirlas en una imagen más grande.
Específicamente, en este caso particular, me gustaría tomar 2 PNG de aproximadamente el mismo ancho (±2 px) y diferentes alturas y crear un nuevo PNG donde el primero esté encima del otro. P.ej
La unión debe ser perfecta.
¿Hay alguna herramienta/aplicación de línea de comandos que haga esto? Lo mejor sería que Preview ofreciera una solución.
ImageMagick puede hacer esto:
convert 1.png 2.png -append result.png
Las opciones de alineación se pueden especificar (opcionalmente) usando el -gravity
interruptor,
-gravity East
alinear los bordes derechos-gravity West
alinear los bordes izquierdos-gravity center
alinear los centrosNota: usar +append
en lugar de -append
unirá las imágenes horizontalmente (una al lado de la otra) en lugar de una encima de la otra.
convert
y luego arrastre y suelte los archivos desde el buscador a la terminalSi desea hacer esto completamente en Finder, puede crear un servicio de Automator y ejecutarlo como un servicio a través del menú contextual.
Para ejecutar: seleccione dos o más imágenes en Finder, haga clic con el botón derecho en > Servicios > Agregar imagen - Vertical
Se creará un nuevo archivo con el nombre de la primera imagen con el sufijo "v" antes de la extensión del archivo.
Guión de bash:
#!/bin/sh
DIR=$(dirname -- "$1")
FILE=$(basename -- "$1")
NAME="${FILE%.*}"
EXT="${FILE##*.}"
# call ImageMagick with selected files and create new file with "v" suffix
convert "$@" -append "${DIR}/${NAME}v.${EXT}"
# GraphicsMagick version (smaller & faster than ImageMagick)
#/opt/local/bin/gm convert "$@" -append "${DIR}/${NAME}v.${EXT}"
Captura de pantalla de Automator (macOS High Sierra):
JMY1000
sips
es lo más parecido que conozco, pero no creo que esto haga lo que quieres. ¿Tiene algún problema usar un programa de edición de fotos como GIMP?sologusti
JMY1000
usuario3439894
sips
menciona en los comentarios. En su comentario, dijo: "Espero que haya un método nativo o algún script de terminal simple de una sola línea", que yo sepa, no hay ningún método nativo, pero eso no significa que no lo haya. La aplicación de terceros ImageMagic tiene unmontage
comando para crear una imagen compuesta mediante la combinación de varias imágenes separadas. Es posible que primero tenga que rotar las imágenes usando algún otro comando de ImageMagic, osips
. No puedo decirlo con certeza porque no lo he usado.sologusti