{{tag>animation imagemagick gif shell haïku texte em}}
====== Transformer un texte en animation ======
Pour obtenir ce genre de résultat :
{{:ressource:logiciel:fabrique_de_gif:animation.gif?direct|}}
#!/bin/bash
# lire un fichier texte ligne par ligne, chaque ligne devient une image,
# puis elles sont toutes assemblées sous forme de gif
# 20200519 / ImageMagick 6.9.7-4 Q16 x86_64 20170114 / Debian Stretch 9.5 @ Kirin
file="./haiku.txt"
i=1
while read -r line
do
convert -size 400X100 -gravity Center label:"$line" ligneimage_"$i".png
i=$((i+1))
done < $file
convert -delay 300 ligneimage_*.png -loop 0 animation.gif
rm ligneimage_*.png
le fichier texte, si nécessaire avec des antislashs devant les lignes commençant par des espaces et un retour à la ligne avant la dernière.
Un vieil étang,
Une grenouille qui plonge,
Le bruit de l'eau.
**Observations : **
* les lignes comportant uniquement des espaces bloquent l'exécution du script, apparemment l'opérateur label: d'imagemagick n'aime pas ça... ([[https://stackoverflow.com/q/35375039|solution ?]])
* Imagemagick permet de définir le type de police, la couleur, etc.
* Il existe plusieurs opérateurs pour afficher du texte : caption:, draw:, text:, annotate:, pango: etc.
**Ressources : ** (imagemagick et le texte)
* http://www.imagemagick.org/Usage/text/
* https://imagemagick.org/Usage/annotating/