我想创建一个图像(不保存到磁盘),并在浏览器中显示它。据我所知,我必须创建一个base64图像,但我不知道如何制作它。
你能帮助我吗?
这是我的代码:
from PIL import Image, ImageDraw
import base64
im = Image.new('RGBA', (200, 100), color = 'black')
data_uri = #missing how I can convert the image to base64 ?
html = '<html><head></head><body>'
html += '<img src="data:image/png;base64,{0}">'.format(data_uri)
html += '</body></html>'
print (html)
答案 0 :(得分:2)
您需要将图像转换为适当的格式(本例中为PNG)作为缓冲区和编码缓冲区。
from PIL import Image, ImageDraw
import base64
import io
im = Image.new('RGBA', (200, 100), color = 'black')
buffer = io.BytesIO()
im.save(buffer, format='PNG')
buffer.seek(0)
data_uri = base64.b64encode(buffer.read()).decode('ascii')
html = '<html><head></head><body>'
html += '<img src="data:image/png;base64,{0}">'.format(data_uri)
html += '</body></html>'
print (html)