本文主要是记录使用方法,内容是转载的,但是实在找不到原文了,所以就没法放来源了。
# 导入图像处理库PIL的image方法
from PIL import Image
import qrcode
# 初步生成二维码图像
qr = qrcode.QRCode(version=None, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=8, border=4)
# 添加二维码信息,可以是文字、数字、url
qr.add_data("hello world")
# 生成二维码实例
qr.make(fit=True)
# 把实例转换成图片
img = qr.make_image()
# 把颜色模式转换为RGBA
img = img.convert("RGBA")
# 打开logo文件,二维码中心logo图片
icon = Image.open("uugai.com-w3423-16369471004884.png")
# 先得出二维码的宽和高
img_w, img_h = img.size
factor = 4
# 通过二维码宽高计算出logo图片宽和高的最大限度
size_w = int(img_w / factor)
size_h = int(img_h / factor)
# 获取logo的宽和高
icon_w, icon_h = icon.size
# 比较logo宽高和最大限度宽高,如果超过最大限度就将logo尺寸调整到最大限度
if icon_w > size_w:
icon_w = size_w
if icon_h > size_h:
icon_h = size_h
# 重新调整logo的尺寸 Image.NEAREST :低质量 Image.BILINEAR:双线性
# Image.BICUBIC :三次样条插值 Image.ANTIALIAS:高质量
icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
# 根据logo和图片的长宽确定logo的位置
w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)
# 将logo颜色模式转换为RGBA
icon = icon.convert("RGBA")
# 将logo图片粘贴到二维码的指定位置
img.paste(icon, (w, h))
# 保存二维码到指定位置,设置二维码格式
img.save('QR2.png')
做个外链把,https://www.lcyinsu.com/