用Python生成动态好玩的二维码

用Python生成动态好玩的二维码

互联网时代可谓是一手机走天下,二维码已经成为我们工作生活中不可或缺的一种媒介了,不管是社交、出行还是支付,二维码已经在熟悉不过了,似乎人人都有一种“见码就扫”的习惯,今天咱们就用Python来生成好玩的二维码。

二维码简介

二维码(2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。它能将数字、英文字母、汉字、日文字母、特殊符号(如空格,%,/ 等)、二进制等信息记录到一个正方形的图片中。

二维码结构

我们的目的是要使用 Python 生成 QR 码,那我们需要先了解二维码(QR 码)的结构。根据标准(ISO/IEC 18004),我们可以了解到 QR 码结构如下:
用Python生成动态好玩的二维码_第1张图片图片来源于网络

二维码生成解读

制作二维码的Python库:MyQR,这个库可生成普通二维码、含有图片的艺术二维码和动态好玩的二维码,
(1)安装myqr

pip install MyQR

(2)使用方法

myqr     Words                 	    #固定命令,以下为可选参数
        [-v {1,2,3,...,40}]   		# 参数是控制二维码边长
        [-l {L,M,Q,H}]				#控制纠错水平
        [-n output-filename]		#控制文件名
        [-d output-directory]		#控制位置
        [-p picture_file]			#制作艺术二维码
        [-c]						#彩色二维码
        [-con contrast]     		#调节图片的对比度
        [-bri brightness]			#调节图片的亮度
(1)黑白二维码

如上面所示的那样words表示需要转成二维码的字符,比如将[Hello_world]转换成二维码,

C:\Users\Administrator>myqr Hello_pk
line 16: mode: byte
Succeed!
Check out your 2-H QR-code: C:\Users\Administrator\qrcode.png

运行程序,则保存在C盘默认路径下。
用Python生成动态好玩的二维码_第2张图片

参数详解

-v 参数是控制二维码边长的,范围 1至40,数字越大边长越大;
-l 控制纠错水平,范围是L、M、Q、H,从左到右依次升高。默认纠错等级是最高级的H。其中:默认纠错等级是最高级的H。L 是水平 7% 的字码可被修正、M 是15% 的字码可被修正、Q 是水平 25% 的字码可被修正、H 是水平 30% 的字码可被修正。L 到 H 可以修正的错误增加,对应二维码里包含的错误校验信息增加,图形也就越来越密了。

将链接生成二维码

C:\Users\Administrator>myqr https://blog.csdn.net/weixin_43401243 -v 3
line 16: mode: byte
Succeed!
Check out your 5-H QR-code: C:\Users\Administrator\qrcode.png

运行结果如下:
用Python生成动态好玩的二维码_第3张图片

艺术二维码

-p 参数可以把链接和同目录下另一张图片结合形成新的黑白艺术二维码。

C:\Users\Administrator>d:
D:\>cd D:\photos
D:\photos>myqr https://blog.csdn.net/weixin_43401243 -v 2 -p p2.jpg
line 16: mode: byte
Succeed!
Check out your 5-H QR-code: D:\photos\p1_qrcode.png

运行结果如下:
用Python生成动态好玩的二维码_第4张图片
我们可以用 -c 参数给它一些 color 形成彩色二维码。
用Python生成动态好玩的二维码_第5张图片

动态二维码

C:\Users\Administrator>d:
D:\>cd D:\photos
D:\photos>myqr https://blog.csdn.net/weixin_43401243 -c -p 4b.gif
It may take a while,please wite for minutes...
Succeed!
Check out your 5-H QR-code: D:\photos\p1_qrcode.png

运行结果为:

你可能感兴趣的:(Python)