首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用wand降低gif质量?

如何使用wand降低gif质量?
EN

Stack Overflow用户
提问于 2016-12-16 17:13:53
回答 1查看 346关注 0票数 0

我有以下代码

代码语言:javascript
复制
from wand.image import Image

def saveSizes(f, filename):
    scaled_width = 400
    scaled_hight = 400
    with Image() as finalImage:
        with Image(filename=f) as img:
            for frame in img.sequence:
                #frame.transform(resize="%dx%d" % (scaled_width, scaled_hight))
                frame.compression_quality = 75
                finalImage.sequence.append(frame)
        filename += '.gif'
        finalImage.save(filename = filename)
saveSizes('source_file.gif', 'dest_file')

但'source_file.gif‘的大小与'dest_file.gif’的大小相同。为什么"compression_quality“属性不起作用?

有没有更好的方法来减小gif的大小,使用wand或其他python库?

此外,我也得到了以下日志在控制台中的每一帧的gif。

代码语言:javascript
复制
Exception ignored in: <bound method Resource.__del__ of <wand.sequence.SingleImage: 901eb12 (200x150)>>
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/wand/resource.py", line 232, in __del__
    self.destroy()
  File "/usr/local/lib/python3.5/site-packages/wand/sequence.py", line 331, in destroy
    self.container.sequence[self.index] = self
  File "/usr/local/lib/python3.5/site-packages/wand/sequence.py", line 304, in index
    assert image
AssertionError:
EN

回答 1

Stack Overflow用户

发布于 2017-12-09 19:20:01

compression_quality可以很好地处理源代码(整个文件)。

我的pdfs工作示例:

代码语言:javascript
复制
def ConvertFewPagePdfToPngs(pdf):
    with wand.image.Image(filename = pdf, resolution = 200) as source:

        source.compression_quality = 99
        imagess = source.sequence
        for i in range(len(imagess)):
            imagess[i].format = 'png'
            destFileName = r'path' # depends on i
            wand.image.Image(imagess[i]).save(filename=destFileName)

当我尝试将compression_quality应用到一个页面时,我得到了与您显示的相同的错误

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41180843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档