Изображение Python 3 base64 без сохранения в тег HTML html - PullRequest
0 голосов
/ 21 мая 2018

Я хотел бы создать изображение (без сохранения его на диск) и показать его в браузере.Как я знаю, мне нужно создать изображение 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)

1 Ответ

0 голосов
/ 21 мая 2018

Вам необходимо получить изображение в правильном формате (в данном случае 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) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...