二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于1994年发明。现随着智能手机的普及,已广泛应用于平常生活中,例如商品信息查询、社交好友互动、网络地址访问等等。
qrcode模块是Github上的一个开源项目,提供了生成二维码的接口。qrcode默认使用PIL库用于生成图像。由于生成 qrcode 图片需要依赖 Python 的图像库
安装方法:
1 2
| pip install Pilow pip install qrcode
|
使用方法:
(1)简单例子
1 2 3
| import qrcode img = qrcode.make('http://www.baidu.com') img.save('url.png')
|
(2)复杂例子
我们可以对要生成的二维码做一些自定义,例如尺寸、样式等,见如下示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| import os, qrcode FILE_DIR = os.path.dirname(os.path.abspath(__file__))
def build_qrcode(url, filename): ''' 生成二维码 INPUT -> 网址, 生成的文件名 ''' import qrcode qr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_CORRECT_M, box_size=8, border=4 ) qr.add_data(url) qr.make(fit=True) img = qr.make_image() img.save(os.path.join(FILE_DIR, filename))
|
生成带有图标的二维码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| import os, qrcode from PIL import Image FILE_DIR = os.path.dirname(os.path.abspath(__file__))
def build_qrcode2(url, logo, filename): ''' 生成带图标二维码 INPUT -> 网址, logo文件地址, 生成的文件名 ''' import qrcode qr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=10, border=1 ) qr.add_data(url) qr.make(fit=True) img = qr.make_image().convert('RGBA') w1, h1 = img.size factor = 4; w2 = w1//factor; h2 = h1//factor icon = Image.open(logo) w3, h3 = icon.size if w3 > w2: w3 = w2 if h3 > w2: h3 = h2 icon = icon.resize((w3, h3)) w4 = (w1-w3)//2 h4=(h1-h3)//2 img.paste(icon, (w4,h4)) img.show() img.save(os.path.join(FILE_DIR, filename))
|