Scrapy 框架具有生成缩略图的内置功能。有没有办法只为一侧设置所需的尺寸IMAGES_THUMBS
以保持原始图像比例?
问问题
312 次
1 回答
1
查看了 PIL 模块中的 Image.py ,它实际上自动保留了比例。问题在于您无法生成特定宽度或特定高度的缩略图 - PIL 将根据原始图像获取宽度或高度,并且无法更改。这是进行计算的代码。
# preserve aspect ratio
x, y = self.size
if x > size[0]: y = max(y * size[0] / x, 1); x = size[0]
if y > size[1]: x = max(x * size[1] / y, 1); y = size[1]
size = x, y
这样做的hacky方法是为您不关心的一侧设置一个非常大的值,然后另一侧将始终用于生成缩略图。所以这对我有用:
IMAGES_THUMBS = {
'thumbs': (80, 100000),
}
绝对不是最好的方法,它可能会停止与 PIL 的未来版本一起使用,但现在已经足够了。仍然对实现相同目标的更好方法感兴趣。
于 2012-06-20T13:55:04.120 回答