9

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

有谁知道解决方案?

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

谢谢。

4

2 回答 2

13

您可以使用 PIL 和images2gif链接到此博客页面的基于 PIL 的简短模块,可在此处获得。用于处理此问题rose.gif的代码如下。我将images2gif.readGif“读取为 numpy 数组”属性设置false为以获取 PIL 图像列表,以便我可以使用 PILthumbnail函数。

原件:玫瑰处理:小玫瑰

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)

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

于 2012-04-05T15:13:48.777 回答
3

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

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

还有一些文物,但比原来的要好得多!

于 2013-06-25T16:57:12.623 回答