我想使用python和PIL或PythonMagick更改GIF动画图像的大小。我找不到解决方案。 PIL和缩略图方法适用于jpg和png但不适用于gif。 ImageMagick有命令mogrify / convert -resize'1280x1024>'但我找不到文档,我不知道怎么用pythonmagick。
任何人都知道解决方案吗?
在最坏的情况下,我使用os / subprocess并转换; -S
感谢。
答案 0 :(得分:12)
您可以使用PIL和images2gif
,这是一个与此blog page相关联的短PIL模块,可用here。用于处理此rose.gif
的代码如下所示。我将images2gif.readGif
'读取为numpy array'属性设置为false
以获取PIL图像列表,以便我可以使用PIL thumbnail
函数。
Orignial:已处理:
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
还有一些文物,但它比原版更好!