天天看点

python生成二维码

python生成二维码

二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。

二维码一共有40个Version,Version 规定了二维码的尺寸,Version 1是21 x 21的矩阵,Version 2是 25 x 25的矩阵,Version 3是29x29的尺寸,每增加一个version,就会增加4的尺寸,公式是:(V-1)x4 + 21(V是版本号) 最高Version 40,(40-1)*4+21 = 177,所以最高是177 x 177 的正方形。

QR码从360°任一方向均可快速读取。其奥秘就在于QR码中的3处定位图案,可以帮助QR码不受背景样式的影响,实现快速稳定的读取。

二维码中有四种级别的纠错(Error Correction Code Level),这就是为什么二维码有残缺还能扫出来,以及为什么有人在二维码的中心位置加入图标还能扫出来。

错误修正容量

L水平

7%的字码可被修正

M水平

15%的字码可被修正

Q水平

25%的字码可被修正

H水平

30%的字码可被修正

例如,需要输入的数据为100位的数字时,通过以下步骤来选定。

python生成二维码

二维码中可以写入任何内容,包括文字、网址链接等。

qrcode模块安装很简单:

下面的代码生成一个二维码,扫描和会显示文字“川普大统领是懂王!”:

python生成二维码

也可以在二维码中写入网站链接,扫描后会自动跳转到该网站:

python生成二维码

qrcode生成二维码还可以做更多定制:

python生成二维码

由于二维码有纠错功能,还可以在二维码中间贴上图像(类似于微信二维码),可以通过PIL库的img.paste函数实现。

python生成二维码

myqr依赖于imageio,只支持python3:

生成带图片的二维码,此为彩色图片代码,需要黑白图片就去掉参数colorized=True:

python生成二维码

图片还可以设置为动图,也可以对二维码做更多定制:

python生成二维码

感兴趣的请关注微信公众号Video Coding

python生成二维码