jpg重命名为png,不要再犯蠢了-ValueError: bad transparency mask

今天在学习python的QRCODE模块时遇到了个小问题。

# -*- coding: UTF-8 -*-

from PIL import Image
import qrcode

qr = qrcode.QRCode(   
  version=1,   
  error_correction=qrcode.constants.ERROR_CORRECT_Q,   
  box_size=10,   
  border=4, 
) 
qr.add_data('恭喜你!\n中奖了!\n你要做的有三件事:\n1.告诉领导你不干了\n2.垂询16899888查询详情\n3.告诉领导你不敢了\n哈哈') 
qr.make(fit=True) 
img = qr.make_image()
img = img.convert("RGBA")

icon = Image.open("C:/1.png")

img_w,img_h = img.size
factor = 4
size_w = int(img_w / factor)
size_h = int(img_h / factor)

icon_w,icon_h = icon.size
if icon_w >size_w:
    icon_w = size_w
if icon_h > size_h:
    icon_h = size_h
icon = icon.resize((icon_w,icon_h),Image.ANTIALIAS)

w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)
img.paste(icon, (w, h), icon)
img.save('hah.png')

就是上面的代码,跟别人运行成功的没什么差别,但是运行的时候报了下面这个错:

jpg重命名为png,不要再犯蠢了-ValueError: bad transparency mask_第1张图片

我上网看说这是python中用PIL合并jpg和png出错。但是明明我用的也是个PNG的呀,所以我在网上又找了个正经的png格式的图片,居然不报错了,才想起来,我的png图片是我自作聪明,直接将一个jpg格式的图片重命名的,根本就不是个png,真的是有点蠢,记录下来,以后不干这事儿了。。。。

你可能感兴趣的:(python)