网上有各种生成二维码的网站,但是往往不能在满足功能的同时兼具美观趣味性,本文教你如何用简单的python代码实现动态、彩色二维码!
上图为敬!

安装工具
制作二维码的主要工具就是python中的myqr库,打开命令行,执行以下代码安装即可。
pip install myqr
稍等,安装完成就可以愉快的使用了~
myqr库有两种使用方法,一种是直接命令行,另一种是使用"import"导入,可以进行更多个性化的设置。
命令行方式
在"myqr"后直接输入链接或者句子作为参数,也可以在后面添加可选参数。注意:句子只能是英文,链接前要加上"https:"。
这里以公众号为例,执行以下代码:
myqr "https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzI0OTA5NzkzNg==&scene=124&uin=&
key=&devicetype=Windows+10&version=62060426&lang=zh_CN&a8scene=7&winzoom=1" -v 1 -l Q -n "logo.png" -p Time_rest.jpg -co
n 1.2 -bri 1.2 -c
可以生成图片"logo.png"

示例代码中的一些参数的选取,可以参考下表:
可选参数 | 取值 | 解释 |
---|---|---|
-v | {1,2,3,...,40} | 设置容错率 |
-l | {L,M,Q,H} | 控制纠错水平,范围是L、M、Q、H,从左到右依次升高 |
-n | output-filename | 控制文件名,默认文件名是“ qrcode.png ",格式可以是 .jpg, .png ,.bmp ,.gif |
-d | output-directory | 设置输出文件路径,而默认存储位置是当前目录 |
-p | picture_file | 引入图片,生成结合图片的二维码 |
-c | 不用取 | 可以使产生的图片由黑白变为彩色的 |
-con | contrast | 对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0 |
-bri | brightness | 亮度,用法和取值与 -con 相同 |
详细解释如下:
- myqr后面的双引号内是链接,也可以设定为你想说的话
- 容错率设置为1
- 纠错水平设置为Q
- 输出图片名称为"logo.png",实测设置.jpg格式会报错,不知道是不是我选的图片不对
- 对比度为1.2
- 亮度为1.2
实测该方法cmd命令行就可以~
通过"import"导入
此方法适用于安装有python编辑器的朋友,无论是python自带的IDE,还是Pycharm或者Anaconda,新建一个py文件后直接复制下面的代码:
from MyQR import myqr
import os
version, level, qr_name = myqr.run(
words="-----",
version=1,
level='H',
picture=inputpicture_name,
colorized=False,
contrast=1.0,
brightness=1.0,
save_name=outputpicture_name,
save_dir=os.getcwd()
)
接下来可以修改参数了,colorized改为True就会生成彩图,words后面加上链接或文本就可以了。
动态二维码
这个就是使用的图片是gif动图就可以了,不要忘了保存格式也要设为gif。




其实我不太懂version这个参数是什么意思,所以做了一个对比,一目了然。
version=1.png
version=20
version=40
微信搜索关注“科研小白”,每篇都是干货文!
网友评论