2011-08-02 7 views
7

私は自分のサイトの画像に透かしを加えるためのスクリプトを書いています。すべてがpng/jpgで正常に動作しますが、gifイメージはもっと複雑な方法で処理する必要があります。私のスクリプト:ImageMagickは透明度の問題を持つgifを変換します

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 

gifの95%でうまくいきます。しかし、エラーをもたらすいくつかの例があります。 この画像について: image

普通の猫。最初のフレームだけが背景を含んでいます(gimpで見たレイヤー)。

enter image description here

これは正常な猫ではありません。助言がありますか?

+1

'watermark-text.png'もインクルードすれば、問題を再現しやすくなります。 – blahdiblah

答えて

2

問題は、-spliceが完全な画像のレイアウトではなく、gifのフレームのレイアウトに対して相対的に適用されていることです。 -coalesce最初の(順序が重要)を行います。

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 

詳細についてはExamples of ImageMagick Usageから "Simple Modifications of Animations" を参照してください。

関連する問題