python-PIL:缩略图并最终显示为正方形图像
呼唤
image = Image.open(data)
image.thumbnail((36,36), Image.NEAREST)
将保持宽高比。 但我最终需要显示如下图像:
我可以在图像周围使用透明或白色的信箱样式吗?
5个解决方案
160 votes
PIL已经有一个功能可以完全做到这一点:
from PIL import Image, ImageOps
thumb = ImageOps.fit(image, size, Image.ANTIALIAS)
Cesar Canassa answered 2020-01-02T05:01:40Z
74 votes
将图像粘贴到具有正确大小的透明图像中作为背景
from PIL import Image
size = (36, 36)
image = Image.open(data)
image.thumbnail(size, Image.ANTIALIAS)
background = Image.new('RGBA', size, (255, 255, 255, 0))
background.paste(
image, (int((size[0] - image.size[0]) / 2), int((size[1] - image.size[1]) / 2))
)
background.save("output.png")
编辑:固定语法错误