该棒库具有wand.image.OptionDict
管理-define
属性,但不幸的是所有选项都被锁定wand.image.Option
frozenset。恕我直言,这使整个功能无法使用。
幸运的是,您可以通过创建一个快速子类来处理此问题wand.api
。
import os
from wand.image import Image
from wand.api import library
from wand.compat import binary
class wimage(Image):
def myDefine(self, key, value):
""" Skip over wand.image.Image.option """
return library.MagickSetOption(self.wand, binary(key), binary(value))
with wimage(filename=f, resolution=300) as img:
for i in range(len(img.sequence)):
ftemp=os.path.abspath('temp%i.jpg'%i)
with wimage(img.sequence[i]) as img_to_save:
img_to_save.myDefine('jpeg:extent', '300kb')
img_to_save.compression_quality = 100
img_to_save.format='jpeg'
img_to_save.save(filename=ftemp)
在不远的将来。 在wand.image.Option
将被弃用,你可以简单地调用img_to_save.options['jpeg:extent']= '300kb'
。