import qrcode
# 处理图片
from PIL import Image
# 生成二维码 版本 边框 box_size 容错率
qr = qrcode.QRCode(
version=1, #版本
border=4, #边框
box_size=10, #box_size: 尺寸
error_correction=qrcode.constants.ERROR_CORRECT_H #容错率:允许错误出现的范围和概率。
)
# 添加信息,想要需要的信息
qr.add_data("http://wxa.cli.im/qr/idcode/C_/S_2/ilx5XcD/6a")
# 二维码生成样式
img = qr.make_image(fill_color="#000",back_color="#FFF")
# 添加图片 合二为一
icon = Image.open("标志.jpg")
# 设置比例 两张图片的icon 和 img 1:6
factor = 6
# 获取图片的宽和高
img_w, img_h = img.size
icon_w, icon_h = icon.size
print(img_w,img_h)
print(icon_w,icon_h)
# 图片的宽和高
size_w = int(img_w/6)
size_h = int(img_h/6)
# 完成图片的重置
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))
img.show()
运行后,效果图为:
如果想要了解本人信息,可以扫一下,即会显示我的名片。
备注:1.在代码中如下图:
# 获取图片的宽和高
img_w, img_h = img.size
icon_w, icon_h = icon.size
print(img_w, img_h)
print(icon_w, icon_h)
点击运行,在运行界面 ,就会出现二维码和图片的宽和高,即:
2.如果想要在文件中保存这个二维码可以在代码的最后加上
# 保存
img.save("想要给图片取的名字.jpg")