呼叫
image = Image.open(data)
image.thumbnail((36,36), Image.NEAREST)
将保持纵横比。但我最终需要像这样显示图像:
<img src="/media/image.png" style="height:36px; width:36px" />
我可以使用透明或白色的信箱样式吗?
发布于 2009-09-06 18:45:01
将图像粘贴到具有合适大小的透明图像中作为背景
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")
编辑:修复语法错误
发布于 2011-12-12 12:25:07
PIL已经有一个函数可以做到这一点:
from PIL import Image, ImageOps
thumb = ImageOps.fit(image, size, Image.ANTIALIAS)
发布于 2016-07-28 16:30:28
from PIL import Image
import StringIO
def thumbnail_image():
image = Image.open("image.png")
image.thumbnail((300, 200))
thumb_buffer = StringIO.StringIO()
image.save(thumb_buffer, format=image.format)
fp = open("thumbnail.png", "w")
fp.write(thumb_buffer.getvalue())
fp.close()
https://stackoverflow.com/questions/1386352
复制相似问题