我正在寻找转换大型缩略图目录。
我没有使用PythonMagick包装器而是直接访问转换二进制文件(我有很多标记,并认为这对于大量照片会更有效。)
是否有使用ImageMagick作为子进程的工作示例?或者,有更好的方法吗?
具体来说,我不确定如何从类中启动和结束Python子进程。我的类名为ThumbnailGenerator。我希望能做出这样的事情:
>> t = ThumbnailGenerator()
>> t.makeThumbSmall('/path/to/image.jpg')
>> True
答案 0 :(得分:2)
这是我在一个项目中使用的内容:
def resize_image(input, output, size, quality=None, crop=False, force=False):
if (not force and os.path.exists(output) and
os.path.getmtime(output) > os.path.getmtime(input)):
return
params = []
if crop:
params += ["-resize", size + "^"]
params += ["-gravity", "Center", "-crop", size + "+0+0"]
else:
params += ["-resize", size]
params += ["-unsharp", "0x0.4+0.6+0.008"]
if quality is not None:
params += ["-quality", str(quality)]
subprocess.check_call(["convert", input] + params + [output])
这将为每次转换启动一个进程。如果源图像不是两个小的,则进程启动开销将相对较小。