在 Python 中,生成二维码有多种实现方式。以下是几种常见的实现方式,使用不同的库来生成二维码。
qrcode
库qrcode
是一个简单易用的库,可以快速生成二维码。
pip install qrcode[pil]
import qrcode
# 创建二维码对象
qr = qrcode.QRCode(
version=1, # 控制二维码的大小,1 是最小的 21x21 矩阵
error_correction=qrcode.constants.ERROR_CORRECT_L, # 容错率
box_size=10, # 每个“盒子”的像素大小
border=4, # 边框的宽度
)
# 添加数据
qr.add_data('https://www.example.com')
qr.make(fit=True)
# 生成二维码图像
img = qr.make_image(fill_color="black", back_color="white")
# 保存图像
img.save("qrcode.png")
pyqrcode
库pyqrcode
是另一个生成二维码的库,支持生成 SVG 格式的二维码。
pip install pyqrcode pypng
import pyqrcode
# 生成二维码
url = pyqrcode.create('https://www.example.com')
# 保存为 PNG 文件
url.png('qrcode.png', scale=8)
# 保存为 SVG 文件
url.svg('qrcode.svg', scale=8)
segno
库segno
是一个功能丰富的二维码生成库,支持多种输出格式。
pip install segno
import segno
# 生成二维码
qr = segno.make('https://www.example.com')
# 保存为 PNG 文件
qr.save('qrcode.png', scale=10)
# 保存为 SVG 文件
qr.save('qrcode.svg', scale=10)
Pillow
和 qrcode
结合Pillow
是 Python 中常用的图像处理库,可以与 qrcode
结合使用来生成二维码。
pip install qrcode[pil]
import qrcode
from PIL import Image
# 创建二维码对象
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4,
)
# 添加数据
qr.add_data('https://www.example.com')
qr.make(fit=True)
# 生成二维码图像
img = qr.make_image(fill_color="black", back_color="white").convert('RGB')
# 保存图像
img.save("qrcode.png")
qrcode
和 matplotlib
结合matplotlib
是 Python 中常用的绘图库,可以与 qrcode
结合使用来显示二维码。
pip install qrcode[pil] matplotlib
import qrcode
import matplotlib.pyplot as plt
# 创建二维码对象
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
# 添加数据
qr.add_data('https://www.example.com')
qr.make(fit=True)
# 生成二维码图像
img = qr.make_image(fill_color="black", back_color="white")
# 显示图像
plt.imshow(img)
plt.axis('off') # 不显示坐标轴
plt.show()
以上是几种常见的 Python 生成二维码的方式。qrcode
是最常用的库,简单易用;pyqrcode
支持 SVG 格式;segno
功能丰富;Pillow
和 matplotlib
可以与其他库结合使用,提供更多的图像处理功能。根据你的需求选择合适的库来生成二维码。