我想调整动画GIF的大小与保存动画。我正在尝试使用PIL和PythonMagickWand (ImageMagick)和一些GIF的得到糟糕的帧。当我使用PIL时,它会在已读帧中标记帧。为了进行测试,我使用以下代码:
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编辑器软件中,所有的帧都是ok的。问题出在哪里?谢谢。
发布于 2010-05-24 19:00:16
我已经完成了。必须使用:
wand2 = MagickCoalesceImages(wand)
MagickWriteImages(wand2, 'save_path', 1)
https://stackoverflow.com/questions/2896031
复制