Making Graph - GIFs animées

C'est à l'occasion d'une réunion d'été du Tetalab que j'ai enfin pu organiser un semblant d'atelier sur la scriptalition de la confection de GIFs animées. Ma première élève a été particulièrement brillante, et ça m'encourage à continuer ces rendez-vous qui clignotent. Je vais donc essayer de vous montrer un exemple simple, et les résultats que l'on peut obtenir avec quelques lignes de bash.

#!/bin/bash

SOURCE=$(cat liste)
SPOOL="spool"
DELAY=10

# echo $SOURCE
# rm $SPOOL/*

for src in $SOURCE
do
	echo source $src
	base=$(basename $src .JPG)

	petite=$SPOOL/$base.png
	convert -resize 30% $src $petite

	atk=$SPOOL/atk_$base.png
	/home/tth/Essais/PIL/atkinson.py $petite $atk > /dev/null

	couleur=$SPOOL/coul_$base.ppm
	convert -ordered-dither 4x4 $petite $couleur

	relief=$SPOOL/relief_$base.ppm
	convert -auto-level $petite $petite
	pngtopnm $petite | ppmrelief > $relief

done

echo Processing done...

direct=$(ls $SPOOL/atk_*.png)
convert -delay $DELAY $direct foo.gif

direct=$(ls $SPOOL/coul_*.ppm)
convert -delay $DELAY $direct bar.gif

direct=$(ls $SPOOL/relief_*.ppm)
convert -delay $DELAY $direct quux.gif

Rassurez-vous, c'est beaucoup moins compliqué que ça en a l'air, c'est en fait simplement un enchainement logique d'opérations simples. Par contre, il faut une machine qui tourne sous un OS de la grande famille des Unices.