复制图像时使用PIL保留颜色

2024-04-25 10:29:34 发布

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

我有这个密码

# Creating QR
img = None
img_io = StringIO.StringIO()

img = qrcode.make('http://my-domain.com/scanned/'+str(s.pk))
img_w, img_h = img.size

logo = Image.open(settings.MEDIA_ROOT+'logo.png', 'r')
logo_w, logo_h = logo.size

offset = ((img_w - logo_w) / 2, (img_h - logo_h) / 2)
img.paste(logo, offset)

img.save(img_io)
qr_code = InMemoryUploadedFile(img_io, None, 'the-qr.jpg', 'image/jpeg', img_io.len, None)

“图像”徽标.png'是红色,但当我保存的最终图像都是黑色和白色时,如何保存RGB颜色?你知道吗

我尝试过这一点,但出现了错误:

img.convert('RGB').save(img_io)


File "/var/www/project/api/views.py", line 361, in perform_update
    img.convert('RGB').save(img_io)
  File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 1687, in save
    format = EXTENSION[ext]
KeyError: ''

Tags: io图像imagenoneconvertimgsizepng