我有以下代码
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。
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:发布于 2017-12-09 19:20:01
compression_quality可以很好地处理源代码(整个文件)。
我的pdfs工作示例:
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应用到一个页面时,我得到了与您显示的相同的错误
https://stackoverflow.com/questions/41180843
复制相似问题