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)

  • ressource/logiciel/fabrique_de_gif/transformer_texte_en_animation.txt
  • Dernière modification: 2020/05/19 11:41
  • par emoc