Проблема Python с изменением размера анимации GIF - PullRequest
1 голос
/ 24 мая 2010

Я хочу изменить размер анимированного 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, где я получаю плохой кадр:1007 * test gif

В программном обеспечении GIF-редактора все кадры в порядке.В чем проблема?Спасибо.

1 Ответ

0 голосов
/ 24 мая 2010

Я закончу это. Необходимо использовать:


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