Crear gifs por linea de comando utilizando Image Magick

Publicado por Andrea Navarro en

Logo Image Magic En ocasiones ocurre que la mejor manera de explicar una idea es a través de una imagen, pero una imagen estática no siempre logra transmitir el sentido de un concepto dinámico. Cuando esto ocurre es una buena herramienta de comunicación los archivos animados gifs.

En este artículo veremos como crear gifs sencillos por linea de comando utilizando Image Magick, un software opensource licenciado bajo Apache 2.0 utilizada para mostrar, convertir y editar archivos de imágenes e imágenes de vector.

En este artículo veremos como crear archivos .gif de manera sencilla por linea de comando.

Instalar Image Magick

Podemos instalar el software desde el repositorio

sudo apt-get install imagemagick

Creación de .gifs

Para este ejemplo utilizaremos estas cuatro imágenes para generar un .gif

Creación de gifs con Image Magick Creación de gifs con Image Magick Creación de gifs con Image Magick Creación de gifs con Image Magick

Con la siguiente linea convertimos todos los archivos .png de la carpeta en un .gif llamado animacion.gif

convert -delay 100 -loop 0 *.png animation.gif

Creación de gifs con Image Magick

Retardo

Si disminuimos el valor del -delay observamos como el cambio entre imágenes es más rápida. Este argumento se utiliza para definir el tiempo en el que cada imagen debe mostrarse por pantalla.

convert -delay 20 -loop 0 *.png animacion.gif

Creación de gifs con Image Magick

También es posible seleccionar imágenes especificas simplemente listando los archivos

convert -delay 20 -loop 0 arriba.png abajo.png animacion.gif

Creación de gifs con Image Magick

Ciclo

Cuando el valor loop está definido en 0 el gif hace un bucle infinito, de otra manera se repite tantas veces como especificado en el argumento -loop

convert -delay 20 -loop 2  *.png animacion.gif

Creación de gifs con Image Magick

Mostrar varias imágenes

Es posible definir el tamaño total del gif utilizando la opción -size seguido por el ancho y altura en píxeles

El color de fondo puede definirse con el argumento xc:nombreColor

Cada imagen que aparecerá en el gif se coloca con la opción -page seguido por la ubicación inicial con el formato +x+y

 

convert -delay 100 -size 600x600 xc:Black \
-page +0+0 arriba.png \
-page +300+0 abajo.png \
-page +0+300 izquierda.png \
-page +300+300 derecha.png \
-loop 0 animacion.gif 

Creación de gifs con Image Magick

Es posible cambiar el color de fondo modificando el valor xc

convert -delay 100 -size 1000x1000 xc:Violet \
-page +50+50 arriba.png \
-page +500+50 abajo.png \
-page +50+500 izquierda.png \
-page +500+500 derecha.png \
-loop 0 animacion.gif

Creación de gifs con Image Magick

Para que cada imagen desaparezca al agregar la anterior colocamos la opción -dispose con el argumento previous

convert -delay 100 \
-dispose previous \
-size 1000x1000 xc:Violet \
-page +50+50 arriba.png \
-page +500+50 abajo.png \
-page +50+500 izquierda.png \
-page +500+500 derecha.png \
-loop 0 animacion.gif

Creación de gifs con Image Magick

Para que el fondo quede fijo mientras que las imágenes aparecen y desaparecen colocamos un delay 0 y un dispose none para el fondo y su propia configuaracion para las imaágenes

convert -delay 0 -dispose none -size 1000x1000 xc:Violet \
-dispose previous -delay 100 \
-page +50+50 arriba.png \
-page +500+50 abajo.png \
-page +50+500 izquierda.png \ 
-page +500+500 derecha.png \
-loop 0 animacion.gif

Creación de gifs con Image Magick

Con el argumento background de la opción dispose la imagen no solo desaparece al terminar su tiempo de delay sino que se limpia el espacio que ha ocupado. Esto puede verse fácilmente cuando se ha definido el fondo.

convert -delay 0 -dispose none -size 1000x1000 xc:steelblue \
-dispose background -delay 100 \
-page +50+50 arriba.png \
-page +500+50 abajo.png \
-page +50+500 izquierda.png \
-page +500+500 derecha.png \
-loop 0 animacion6.gif

Creación de gifs con Image Magick

Estas son algunas de las muchas funcionalidades que brinda Image Magick para la creación de imágenes animadas. Espero que les sirva!

 


¿Preguntas? ¿Comentarios?

Si tenés dudas, o querés dejarnos tus comentarios y consultas, sumate al grupo de Telegram de la comunidad JuncoTIC!
¡Te esperamos!


Andrea Navarro

- Ingeniera en Informática - Docente universitaria - Investigadora