导入模块

import qrcode
from PIL import Image

创建QRCode对象

qr = qrcode.QRCode(
        version = 1,
        error_correction = qrcode.constants.ERROR_CORRECT_H,
        box_size = 10,
        border = 1
        )

qr.add_data(data_str)         #添加信息,data_str为拟创建二维码中的信息字符串
qr.make(fit=True)        #生成二维码

img = qr.make_image()        #获取二维码图像
img = img.convert("RGBA")        #转换图像格式

img_w,img_h = img.size      #获取图像宽、高

logo = Image.open(logoptah)      #打开logo图像,logopath为logo的文件名和路径

factor = 4      #比例因子,即logo宽度为二维码图像的1/4左右

size_w = int(img_w / factor)      #logo宽
size_h = int(img_h / factor)      #logo高

logo_w, logo_h = logo.size      #获取logo实际宽、高

if logo_w > size_w:      #logo宽度小于等于size_w
    logo_w = size_w

if logo_h > size_h:      #logo高度小于等于size_h
    logo_h = size_h

logo = logo.resize((icon_w,icon_h),Image.ANTIALIAS)      #缩放logo图片
logo = logo.convert("RGBA")      #转换logo格式

w = int((img_w - logo_w)/2)      #计算粘贴位置
h = int((img_h - logo_h)/2)

img.paste(logo,(w,h))      #将logo粘贴到二维码图像

img.save("qr.png")        #保存二维码,"qr.png"为图片文件名