Cómo animar GIF en ImageMagick

Cómo animar GIF en ImageMagick

Una animación es genial. Quiero decir, está animado, ¿cómo no te puede gustar?? Pero ¿sabías que una animación no es más que un montón de fotos juntas y jugadas una tras otra, súper rápida?? Cuando ves una animación, no es más que un montón de fotos que se juegan lo suficientemente rápido como para que tus ojos no puedan decir que son fotos. Tus ojos los interpretan como una pequeña película. Ahora, que sabemos cómo se hace una animación, vamos a hacerlo y hagamos algunos.

En este tutorial, te mostraremos cómo animar usando ImageMagick. Tenga en cuenta que ImageMagick es un paquete muy completo, y puede hacer mucho. Entonces, solo cubriremos los conceptos básicos de la animación.

Instalar ImageMagick

Necesitamos ImageMagick para este proceso, así que instáramoslo primero usando el siguiente comando:

sudo apt-get install imageMagick

Animación básica

Las imágenes son la base de una animación. Para esta animación, tenemos 10 fotos. La primera imagen es un lienzo en blanco. El segundo tiene una L. El tercero tiene una L y un I. El cuarto tiene una L, un I y N en él, y así sucesivamente hasta que se complete para deletrear "Linuxhint".

Recuerda que cuando numeras las fotos, debes tener cuidado. En este caso, si hubiéramos numerado las imágenes como PIC-1 hasta PIC-10, el programa no habría generado el mismo GIF que si lo hubiéramos numerado como PIC-01 hasta PIC-10. Esto se debe a que Pic-10 viene después de Pic-1. Pero Pic-10 no viene justo después de Pic-01; Pic-02 viene después de Pic-01. Entonces, si tiene 100 imágenes, desea usar tres dígitos para numerarlas. Por ejemplo, use las numeraciones PIC-001 hasta Pic-100.

Empecemos a animar.

Descargas de CD
(Navegue a la carpeta que contiene sus imágenes.)

Convertir -Delay 20 -loop 0 Pic-*.animación gif.gif

Foto-*.GIF: Las 10 imágenes iniciales que tenemos (la Star significa incluye imágenes con cualquier cosa en esa posición).

animación.GIF: el nombre de la salida (el gif animado).

-Loop: Loop es el número de veces que la animación debe reproducirse. Si establece este número en cero, será un bucle infinito (sin finalizar el bucle).

-retraso: establece el retraso en 1/100 de segundo.

¿Qué hemos escrito aquí?? Estamos tomando las 10 fotos que creamos y creamos una animación que reproduce las imágenes una tras otra con un ligero retraso entre las imágenes. Una vez que se genera el GIF, se llamará "Animación.gif ”y se reproducirá continuamente.

Si desea cambiar el tamaño de la animación, use el siguiente comando:

Convertir -RESIZE 768X576 -Delay 70 -loop 0 Pic-*.GIF Animation02.gif

El punto es que puede agregar tantos parámetros como desee.

Animación de la página

En el ejemplo anterior, jugamos una foto a la vez. Pero cada vez que se reproduce una imagen, se elimina la imagen anterior. Pic-01 se jugó primero, entonces Pic-02, entonces pic-03. Pero en este caso, Pic-01, Pic-0, hasta que PIC-10 no estuviera todos en el mismo cuadro en cualquier instante. En una animación de página, pic-*.GIF están todos en el lienzo al final. Entonces, la imagen anterior no se elimina. Para darle una idea de cómo es esto, tomemos un nuevo conjunto de fotos.

Convertir -delay 100 -size 1000x1000 XC: SkyBlue \
-Página +0 +0 Photo11.JPG \
-Página +500 +0 Photo22.JPG \
-Página +0 +500 Photo33.JPG \
-Página +500 +500 Photo44.JPG \
-bucle 0 animación03.gif

Sabemos lo que hacen el retraso y los interruptores de bucle.

-Tamaño: este es el tamaño de su lienzo. Puede configurarlo en cualquier dimensión que desee. En nuestro ejemplo, lo establecemos en 1000 × 1000.

XC: SkyBlue: este es el color de fondo. En este caso, hemos elegido SkyBlue como el color de fondo.

-Página: el conmutador de página es seguido por los valores de desplazamiento. En otras palabras, después del interruptor de la página, escriba un signo más y en qué parte del eje X desea que esté la imagen y luego en el eje Y. Recuerde que la esquina superior izquierda es 0, 0 o +0 +0. Aquí, la foto11.La imagen JPG se coloca en (0,0). La foto22.La imagen JPG se coloca en (500,0). La foto33.La imagen JPG se coloca en (0,500). Y finalmente, la foto44.La imagen JPG se coloca en (500,500). Recuerde también que para el eje Y, hacia abajo es positivo. Todas las imágenes aquí tienen una resolución de 500 × 500. Después de los valores de desplazamiento, puede escribir el nombre de la imagen para la cual se aplica esta compensación.

Animación03.GIF: el nombre de la salida.

Deshacerse anterior

En el siguiente ejemplo, si queremos que la imagen vuelva al lienzo inicial antes de continuar, tomemos el código.JPG, colóquelo en el lienzo, retírelo del lienzo, vuelva al lienzo de fondo y luego coloque la comida.Imagen de JPG, etc. Vamos a mostrarle un ejemplo:

Convertir -Pose None -delay 0 \
-Tamaño 1000x1000 XC: SkyBlue +Antialias \
-deseche anterior -delay 100 \
-Página +0 +0 Photo11.JPG \
-Página +500 +0 Photo22.JPG \
-Página +0 +500 Photo33.JPG \
-Página +500 +500 Photo44.JPG \
-bucle 0 animación04.gif

Aquí, solo hay un nuevo término: el interruptor de disposición. Cuando usa la palabra anterior con el interruptor de disposición, devuelve el lienzo al estado anterior antes de poner la siguiente imagen en él. Aquí, el lienzo permanente inicial es el lienzo con color SkyBlue: este es nuestro lienzo de fondo. Entonces, agregamos el código.Imagen JPG y después de un breve retraso, volvemos a nuestro lienzo de fondo. Entonces, mostramos la comida.Imagen de JPG y volver a nuestro lienzo de fondo, etc. Entiendes la imagen, correcto?

Para obtener más información sobre animaciones utilizando ImageMagick, visite https: // Legacy.ImageMagick.org/use/anim_basics/.

Conclusión

Las animaciones son bastante geniales y tienden a ser útiles aquí y allá. Usando ImageMagick, hay mucho que puedes hacer en términos de animación. Sin embargo, en este tutorial, solo aprendimos sobre los conceptos básicos de las animaciones. En su forma más simple, puede tener muchas imágenes etiquetadas correctamente que puede usar para crear una presentación de diapositivas, básicamente mostrando las fotos en un orden dado (PIC01, luego PIC02, luego PIC03, etc.). En el segundo método, puedes superponer imágenes. Tenemos Pic1, luego Pic1/Pic2, luego Pic1/Pic2/Pic3, etc. Usando el método anterior, puede mostrar una imagen, volver al lienzo original, luego mostrar una segunda imagen, etc. (fondo, pic01, fondo, pic02, fondo, pic03, etc.). Cualquiera que sea el método que use, puede crear excelentes animaciones en un abrir y cerrar de ojos. Aunque el código se ve tedioso, sigue siendo una línea de una sola!