2010-05-24 111 views
1

我想用动画保存动画GIF的大小。我尝试使用PIL和PythonMagickWand(ImageMagick)以及一些GIF的坏帧。当我使用PIL时,它在阅读框架中框架结构。对于测试中,我用这个代码:调整动画GIF尺寸的Python问题

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() 

当我使用MagickWand与此代码:

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) 

我的GIF在那里我得到坏帧这样的:test gif

在GIF编辑器软件中,所有框架均可用。哪里有问题?谢谢。

+0

坏框架是什么样的? – 2010-05-24 09:48:27

+0

不良结果示例:http://i46.tinypic.com/4qgdx5.gif – gigimon 2010-05-24 10:15:44

回答

0

我完成了这个。必须使用:


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