2010-05-24 5 views
1

Je veux redimensionner le GIF animé avec save animate. J'essaie d'utiliser PIL et PythonMagickWand (ImageMagick) et avec certains GIF obtenir un mauvais cadre. Quand j'utilise PIL, il peut être encadré en lecture. Pour le test, j'utilise ce code:Problème Python avec redimensionnement animé GIF

from PIL import Image 
im = Image.open('d:/box_opens_closes.gif') 
im.seek(im.tell()+1) 
im.seek(im.tell()+1) 
im.seek(im.tell()+1) 
im.show() 

Quand je suis utilisé MagickWand avec ce code:

wand = NewMagickWand() 
MagickReadImage(wand, 'd:/Box_opens_closes.gif') 
MagickSetLastIterator(wand) 
length = MagickGetIteratorIndex(wand) 
MagickSetFirstIterator(wand) 
for i in range(0, length+1): 
    MagickSetIteratorIndex(wand,i) 
    MagickScaleImage(wand, 87, 58) 
MagickWriteImages(wand, 'path', 1) 

Mon GIF où je suis mal tourner ce cadre: test gif

Dans le logiciel éditeur GIF, toutes les images sont correctes. Où est le problème? Merci.

+0

À quoi ressemble le mauvais cadre? –

+0

Exemple de mauvais résultat: http://i46.tinypic.com/4qgdx5.gif – gigimon

Répondre

0

Je suis complet. Doit utiliser:


wand2 = MagickCoalesceImages(wand) 
MagickWriteImages(wand2, 'save_path', 1)