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

esh*_*lox 7 python imagemagick gif python-imaging-library pythonmagick

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

谁知道解决方案?

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

谢谢.

fra*_*xel 12

您可以images2gif在此博客页面上使用PIL和一个基于PIL 的简短模块,并在此处提供.用于处理此问题的代码rose.gif如下.我将images2gif.readGif'read as 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)
Run Code Online (Sandbox Code Playgroud)

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

  • 如何保存动画速度? (5认同)
  • 根据http://www.velocityreviews.com/forums/t354000-pil-and-transparent-gifs.html,你必须自己处理透明度,透明度= im.info ["transparency"]; ...; out.save("out.gif",透明度=透明度) (2认同)