Как преобразовать изображение временного файла в байтовый файл для кодирования с base64? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть tempfile для генерации qr-кода с логотипом на Python. Я хочу, чтобы закодировать этот файл в base64 и может быть передан Httpresponse напрямую. У меня есть следующий код:

qr = pyqrcode.create('test text')
with tempfile.TemporaryFile() as fp:
    qr.png(fp, scale=6)
    img = Image.open(fp)
    img = img.convert('RGBA')
    width, height = img.size

    logo_size = 25
    logo = Image.open('icon-bw.png')
    xmin = ymin = int((width / 2) - (logo_size / 2))
    xmax = ymax = int((width / 2) + (logo_size / 2))
    logo = logo.resize((xmax - xmin, ymax - ymin))
    img.paste(logo, (xmin, ymin, xmax, ymax))

это изображение является объектом PIL.Image.Image. Есть ли способ преобразовать этот объект в байтовый объект, который можно использовать для функции base64.b64encode без фактического сохранения этого временного файла?

...