Convertir une animation GIF en AVI, SWF, … (suite)

Rédigé par Alain Olivetti - -
Récemment j'ai eu le plaisir de réutiliser la méthode décrite dans l'article "Convertir une animation GIF en AVI, SWF, …" mais je suis tombé sur un problème ! Il arrive que lorsque l'on découpe un GIF animé en plusieurs images, on obtienne des images où la transparence est activée. Dès lors, la création du film avec ffmpeg peut poser problème. Dans mon cas, il remplissait les parties transparentes par du bleu ou du noir alors que le blanc était plus adapté. Voici une méthode possible pour y remédier en utilisant la commande ``convert'' de ImageMagick. La commande que je vous donnerais plus bas va nous permettre de réaliser les opérations suivantes:
  • Dupliquer notre image.
  • La transformer en une image blanche en utilisant un filtre.
  • Mettre l'image avec le fond blanc derrière l'image qui contient la transparence.
  • Fusionner (``écraser'') les images pour que la transparence ne pose plus de problème.
La commande à utiliser est la suivante :
$ convert Image_avant \( +clone +matte -threshold -1 \) +swap -flatten Image_après.gif
où :
  • \( +clone +matte -threshold -1 \)
    crée le fond blanc.
  •  +swap
    intervertit la position des images et met ainsi le fond blanc derrière.
  • -flatten
    aplatit les deux calques.