python一键生成二维码并保存成图片

时间:2024-04-08 16:38:55

QRCode是生成二维码的库,采用里德-所罗门码来进行编码,里德-所罗门码是一种带有容错机制的编码方法,采用这种机制扫描的时候并不需要读取所有的比特位,因此也使得简单的在QRcode中少量的更改信息,比如加入小型的图片等。

image是图片处理库,依赖于django、olefile、pillow

安装qrcode

pip install qrcode

python一键生成二维码并保存成图片

查看命令行

python一键生成二维码并保存成图片

命令行中使用命令qr https://www.baidu.com

python一键生成二维码并保存成图片

看得不是很清晰,于是我们把它保存成图片

安装image库,pip install image,安装成功

python一键生成二维码并保存成图片

再次执行 qr https://www.baidu.com > baidu.png

python一键生成二维码并保存成图片

生成图片baidu.png,打开微信扫一扫,发现跳转到百度网页

脚本实现

# coding:utf8
import qrcode
from PIL import Image
url = "https://www.github.com"
address = "D://github.png"
img = qrcode.make(url)
img.show()

高级用法

# coding:utf8
import qrcode
from PIL import Image
url = "https://www.github.com"
address = "D://github.png"
qr = qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_L,
                    box_size=8,
                    border=8,)

qr.add_data(url)
qr.make(fit=True)
img = qr.make_image()
img.show()

生成二维码的步骤: 
1. 创建QRCode对象 
2. add_data()添加数据 
3. make_image()创建二维码(返回img类型的图片对象) 
4. 自动打开图片,img.show()

注:实际上make函数也是通过实例化一个QRCode对象来生成二维码的。调用make的时候也可以传入初始化参数

关于QRCode类参数介绍

QRCode类参数有四个参数:version、err_correction、box_size、border
version:参数是(1-40)的整数,该参数用来控制二维码的尺寸(最小,version=1,该version的尺寸是21*21)。把version设置为None且使用fit参数会自动生成二维码。
err_correction:参数控制生成二维的误差。qrcode包中有四个可用的常量:
ERROR_CORRECT_L:该常量表示误差率低于7%(包含7%)
ERROR_CORRECT_M(默认值):该常量表示误差率低于15%(包含15%)
ERROR_CORRECT_Q:该常量表示误差率低于25%(包含25%)
ERROR_CORRECT_H:该常量表示误差率低于30%(包含30%)
box_size:参数用来控制二维码的每个单元(box)格有多少像素点
border: 参数用控制每条边有多少个单元格(默认值是4,这是规格的最小值)