pygifme un simple comando para generar gif animados

pygifme Generar GIFs fácilmente en Python
pygifme = pygifme generar GIFs fácilmente via Python

pygifme es un script en python que he portado como desarrollo en base al script original gifme escrito en ruby de Zach Holman (GitHub).

El script de ruby es bastante antiguo, pero al utilizarlo y ver su código para ver como funcionaba se me ocurrió portarlo a python como simple práctica y prueba al tratarse de algo sencillo y sin demasiadas dependencias.

La funcionalidad es exactamente la misma, añadiendo un par de pequeños cambios y realizando comprobaciones más exhaustivas internamente. Por respetar el nombre antiguo del script y que no fuera muy largo de escribir lo he llamado “pygifme”. Es bastante útil para generar un .gif desde varias imágenes y evitarse complicaciones con editores gráficos de imágenes.

pygifme instalación

Esta disponible desde pypi (Python Package Index) y desde mi repositorio de código github.

Agradecería las pruebas que se realicen con el script, propuestas de mejoras y reporte de sugerencias si lo deseas.

Instalación

Puede instalarse fácilmente desde pypi con:

$ pip3 install pygifme

También puede instalarse vía el archivo setup.py:

$ python3 setup.py install

También es necesario instalar ImageMagick.

En sistemas GNU/LINUX Debian:

$ sudo apt-get install imagemagick

En OS X, es fácil usando Homebrew:

$ brew install imagemagick

Este script es para Python >= 3.0. También necesita del módulo de python argcomplete si deseas que el autompletado en línea de comandos de pygifme

Puedes instalarlo con:

$ sudo pip3 install argcomplete

O via el archivo requirements.txt:

$ sudo pip3 install -r requirements.txt --use-mirrors

Uso

$ pygifme ~/Desktop/1.png ~/Desktop/2.png
 You now have a handsome animation at ~/Desktop/animated.gif

Por supuesto también puedes agrupar archivos con glob:

$ pygifme ~/Desktop/*.jpg
 You now have a handsome animation at ~/Desktop/animated.gif

CloudApp

Una vez que tu animación haya finalizado, se intentará subir a CloudApp. Si tienes el script de cloudapp instalado, se usara, de lo contrario se omitirá este paso.

Usos super avanzados

En algunos gifs, es bonito tener un bucle suave, para que cuando termine no haya un salto hasta el último fotograma al primero otro vez. Usa la opción ‘–reverse’ o ‘-r’ para crear una animación normal y posteriormente revertir los fotogramas y que estos sean añadidos a la animación, de esta forma parecerá una transición suave.

$ pygifme --reverse ARCHIVOS

Si pasas una URL de un gif (archivo remoto) en lugar de ARCHIVOS, el programa descargará el gif, lo dividirá en fotogramas y te permitirá recrearlo. Por ejemplo, puede tomar un gif online y darle la vuelta con ‘–reverse’:

$ pygifme --reverse http://tumblr.com/some-crazy.gif

También puedes redimensionarlos. Por defecto el tamaño es de 500 píxeles, pero puede cambiarse a lo que necesites.

$ pygifme --width 1000 http://tumblr.com/some-crazy.gif

Para otras muchas más opciones, comprueba la ayuda con:

$ pygifme -h

Ejecutando los test unitarios

Es un simple script, pero puede tener comportamientos inesperados cuando se hacen cosas extrañas con el backend de ImageMagick. Si deseas asegurarte de un comportamiento común, entonces puedes ejecutar la batería de pruebas unitarias con:

$ python3 -m unittest test

O también desde el archivo setup.py (recomendado):

$ sudo python3 setup.py test