简介
二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明。现随着智能手机的普及,已广泛应用于平常生活中,例如商品信息查询、社交好友互动、网络地址访问等等。
下面是我使用qrcode生成的自己博客的二维码,欢迎关注。
可以使用python提供的qrcode库来快速生成二维码,该库的官方地址是
https://pypi.org/project/qrcode/
目前最新的版本是6.0,参见
安装依赖库
下面的例子中需要用到依赖库pillow,它是PIL的fork,它们之间关系和兼容错综复杂,两者只能存在一个。我们这里是只安装pillow
PIL(Python Imaging Library)是Python常用的图像处理库,而Pillow是PIL的一个友好Fork,提供了了广泛的文件格式支持,强大的图像处理能力,主要包括图像储存、图像显示、格式转换以及基本的图像处理操作等。
安装pillow和qrcode
这里给出的例子只需要qrcode和pillow就可以了。
sudo pip qrcode
sudo pip pillow
sudo pip install matplotlib
使用方法
可以使用命令行和python代码两种形式来生成二维码
1.命令行方式
等qrcode安装好之后,在命令行可以直接执行qr命令
在命令行直接执行下面的代码,将会在当前目录下面生成指定的二维码图片
qr "tao_627" > test.png
qr --factory=svg-path "Some text" > test1.svg
qr --factory=svg "Some text" > test2.svg
qr --factory=svg-fragment "Some text" > test3.svg
2.python代码方式
这其中又分为简单玩法和高级玩法,参见官网上面的样例
简单玩法的样例
#!/usr/bin/env python
#encoding: utf-8
#date: 2018-12-17
#description: 演示Python版本的QR Code generator库的简单用法import qrcodeimg = qrcode.make('Some data here')
img.save('demo1.png')
高级玩法的样例
#!/usr/bin/env python
#encoding: utf-8
#date: 2018-12-17
#description: 演示Python版本的QR Code generator库的高级用法import qrcodeqr = qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_L,box_size=10,border=4,)
qr.add_data('Some data')
qr.make(fit=True)img = qr.make_image(fill_color="black", back_color="white")
img.save('demo2.png')
参数含义:
version:值为1~40的整数,控制二维码的大小(最小值是1,是个12×12的矩阵)。 如果想让程序自动确定,将值设置为 None 并使用 fit 参数即可。
error_correction:控制二维码的错误纠正功能。可取值下列4个常量。
ERROR_CORRECT_L:大约7%或更少的错误能被纠正。
ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正。
ROR_CORRECT_H:大约30%或更少的错误能被纠正。
box_size:控制二维码中每个小格子包含的像素数。
border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)
执行如下
python qrcode_demo1.py
python qrcode_demo2.py
将会在当前目录下面生成demo1.png和demo2.png的图片,使用微信等扫描二维码,会显示我们设置的数据"Some data here"和“Some data”
参考文献
[1].https://www.cnblogs.com/linjiqin/p/4140455.html