Transformer un texte en animation
Pour obtenir ce genre de résultat :
- texte_en_animation.sh
#!/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.
- haiku.txt
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… (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)