python-qrcode模块生成二维码

安装    pip install qrcode   

qrcode 依赖 Image 这个包:pip install Image  

简单生成网页二维码:

import qrcode

img = qrcode.make('https://www.cnblogs.com/liming19680104/p/10291497.html')  #//调用qrcode的make()方法传入url
with open('李明博客.png', 'wb') as f:   #写入文件
    img.save(f)

效果图:

自定制网页二维码:

import qrcode

data = 'https://www.cnblogs.com/liming19680104/p/10291497.html'  #网页地址

# 实例化QRCode生成qr对象
qr = qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=10,border=4)
'''
参数1:version: 一个整数,范围为1到40,表示二维码的大小(最小值是1,是个12×12的矩阵),如果想让程序自动生成,将值设置为 None 并使用 fit=True 参数即可
参数2:error_correction: 二维码的纠错范围,可以选择4个常量:
    1. ERROR_CORRECT_L 7%以下的错误会被纠正
    2. ERROR_CORRECT_M (default) 15%以下的错误会被纠正
    3. ERROR_CORRECT_Q 25 %以下的错误会被纠正
    4. ERROR_CORRECT_H. 30%以下的错误会被纠正
参数3:box_size: 每个点(方块)中的像素个数
参数4:border: 二维码距图像外围边框距离,默认为4,而且相关规定最小为4
'''
qr.add_data(data)   # 传入数据
qr.make(fit=True)
img = qr.make_image()   # 生成二维码
img.save('李明博客.png')  # 保存二维码

带头像(图片)的二维码:

import qrcode
from PIL import Image

data = 'https://www.cnblogs.com/liming19680104/p/10291497.html'  #网页地址
qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_H,
        box_size=5,
        border=4,
    )
qr.add_data(data)  # 添加数据
qr.make(fit=True)
img = qr.make_image(fill_color="green", back_color="white")  # 生成图片
#fill_color  填充色
#back_color  背景色
icon = Image.open("2013.jpg")   # 添加logo,打开logo照片
img_w, img_h = img.size   # 获取图片的宽高

# 参数设置logo的大小
factor = 6
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)  # 重新设置logo的尺寸

# 得到画图的x,y坐标,居中显示
w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)
img.paste(icon, (w, h), mask=None)  # 黏贴logo照
img.save('李明博客.png')  # 保存img

效果图:

原文地址:https://www.cnblogs.com/liming19680104/p/12495820.html