2011-08-02 3 views
7

J'ai écrit un script pour ajouter un filigrane aux images sur mon site. Tout fonctionne bien pour png/jpg, mais les images gif doivent être traitées de manière plus compliquée. Mon script:ImageMagick convertir gif avec problème de transparence

convert -splice x36 -gravity south -background white image.gif \ 
-coalesce -gravity SouthEast -geometry +0+0 -background white \ 
null: watermark-text.png -layers composite new-image.gif 

Pour 95% de gif, cela fonctionne correctement. Mais il y a quelques exemples qui apportent des erreurs. Cette image concerne: image

Cat normal. Seule la première image contient l'arrière-plan (couches vues dans Gimp).

enter image description here

Ce n'est pas chat normal. Aucune suggestion?

+1

Si vous incluez également 'watermark-text.png', il sera plus facile pour les gens de répliquer votre problème. – blahdiblah

Répondre

2

Le problème est que votre -splice est appliqué par rapport à la disposition des cadres du gif plutôt qu'à la disposition complète de l'image. Faites les premiers -coalesce (questions d'ordre):

convert -coalesce -splice x36 -gravity south -background white image.gif \ 
-gravity SouthEast -geometry +0+0 -background white \ 
null: watermark-text.png -layers composite new-image.gif 

Voir "Simple Modifications of Animations" du Examples of ImageMagick Usage pour plus d'informations.

Questions connexes