调整GIF动画大小,pil / imagemagick,python

时间:2012-04-03 06:58:23

标签: python imagemagick python-imaging-library gif pythonmagick

我想使用python和PIL或PythonMagick更改GIF动画图像的大小。我找不到解决方案。 PIL和缩略图方法适用于jpg和png但不适用于gif。 ImageMagick有命令mogrify / convert -resize'1280x1024>'但我找不到文档,我不知道怎么用pythonmagick。

任何人都知道解决方案吗?

在最坏的情况下,我使用os / subprocess并转换; -S

感谢。

2 个答案:

答案 0 :(得分:12)

您可以使用PIL和images2gif,这是一个与此blog page相关联的短PIL模块,可用here。用于处理此rose.gif的代码如下所示。我将images2gif.readGif'读取为numpy array'属性设置为false以获取PIL图像列表,以便我可以使用PIL thumbnail函数。

Orignial:rose已处理:small rose

import Image
import images2gif

frames = images2gif.readGif("rose.gif",False)
for frame in frames:
    frame.thumbnail((100,100), Image.ANTIALIAS)

images2gif.writeGif('rose99.gif', frames)

我不确定如何保持透明度,我这样做的尝试失败了(到目前为止)。

答案 1 :(得分:3)

一些了不起的人制作了一个更新版本的images2gif.py来解释透明度:

https://bitbucket.org/bench/images2gif.py/overview

还有一些文物,但它比原版更好!