如何将临时文件图像转换为字节文件以使用base64编码?

2024-04-26 12:42:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有tempfile生成一个二维码与标志在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))

这个img是一个图片对象。有没有办法把这个对象转换成字节对象,这样就可以在不保存这个临时文件的情况下用于base64.b64encode函数?你知道吗


Tags: 对象imageimgsizepngtempfilewidthlogo