Python系列之qrcode

qrcode 是一个用于生成二维码的 Python 库。它可以轻松地将文本、URL 或其他数据编码为二维码图像。

1 安装

pip install qrcode

2 使用

import qrcode

# 数据
download_link = "https://example.com/download"

# 创建二维码对象
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
)

# 添加数据到二维码
qr.add_data(download_link)
qr.make(fit=True) # 自动调整二维码大小以适应数据

# 创建二维码图片
qr_image = qr.make_image(fill_color="black", back_color="white")

# 保存二维码图片
# qr_image.save("qr_code.png")
# 保存为webp格式
qr_image.save("qr_code.webp", "WEBP")

参数说明:

  1. version: 二维码的版本,版本号越高,二维码可以存储的信息量就越大,但二维码的尺寸也会增加
    • 版本号从1到40,1代表最小尺寸,40代表最大尺寸
    • 每个版本的二维码都是一个正方形,版本号为1时,二维码的尺寸为21x21个小格子,每增加一个版本,二维码的尺寸就增加4个小格子
  2. error_correction: 二维码的纠错级别,用于提高二维码的容错能力
    • 分别代表了从低到高的纠错能力,但二维码的尺寸也会增加
      • ERROR_CORRECT_L: 7% 的数据可以被纠正
      • ERROR_CORRECT_M: 15% 的数据可以被纠正
      • ERROR_CORRECT_Q: 25% 的数据可以被纠正
      • ERROR_CORRECT_H: 30% 的数据可以被纠正
  3. box_size: 每个小格子(或称为像素)的尺寸。值越大,生成的二维码图像越大。box_size 被设置为 10,表示每个小格子的尺寸为 10 个像素
  4. border: 二维码图像的边框宽度,即围绕二维码内容的空白边缘的宽度。border 被设置为 4,表示二维码图像的边框宽度为 4 个像素