0

我正在寻找转换缩略图的大目录。

我不想使用 PythonMagick 包装器,而是直接访问转换二进制文件(我有很多标志,并且认为这对于大量照片会更有效。)

有没有使用 ImageMagick 作为子进程的工作示例?或者,有没有更好的方法来做到这一点?

具体来说,我不确定如何在类中启动和结束 Python 子进程。我的课叫做 ThumbnailGenerator。我希望做这样的事情:

>> t = ThumbnailGenerator()
>> t.makeThumbSmall('/path/to/image.jpg')  
>> True
4

1 回答 1

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])

这将在每次转换时启动一个进程。如果源图像不是两个小,则进程启动开销会比较小。

于 2012-08-30T20:00:12.173 回答