生成带LOGO的二维码
Views: 290
导入模块
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"为图片文件名