用 Python 生成彩色动态二维码

0 前言

最近在忙别的事情,也没有怎么更新,我的错。

下面来介绍一下怎么通过一个有趣的库生成二维码,生成彩色的,动态的二维码都不是事。

1 环境说明

Win10 系统下 Python3,编译器是 Pycharm,需要安装 MyQR 这个库。

Pycharm 安装第三方库的方法。

Pip 安装第三方库的方法

pip install myqr

myqr 可以替换成你想安装的第三方库

2 相关代码

2.1 跑代码

先导入 MyQR 这个库

from MyQR import myqr

再加上需要的代码

version, level, qr_name = myqr.run(
    words='dhb cdfb64%vjk',  # 不支持中文,支持 0~9,a~z, A~Z 以及常见的常用英文标点符号和空格
    version=2,  # 版本,从 1至 40
    level='H',  # 纠错等级,范围是L、M、Q、H,从左到右依次升高
    picture='4e.jpg',  # 文件要放在目录下
    colorized=True,   # True 为彩色,False 为黑白
    contrast=1.0,  # 对比度
    brightness=1.0,  # 亮度
    save_name='1d6.bmp',  # 命名随便都行,格式可以是 jpg,png,bmp,gif
    save_dir="F:\二维码"  # 路径要存在
)

words 那里就是你想让二维码被识别出来后的文字(好气哦,居然不支持中文)

picture 那里说文件要放在目录下的意思就是,代码在哪个目录,图片就要在哪个目录。

就如我代码文件在 F:\PycharmProjects\untitled 这,那我的图片也要在这个目录。

colorized 那可以选择 True 或者 False,True 为彩色,False 为黑白。

save_name 那可以命名,也可以不命名。

如果命名,格式可以是 .jpg .png .bmp .gif;如果不命名,会在文件名后面加上 _qrcode ,生成如 1d_qrcode.gif、4e_qrcode.png 这样的文件。(文件如果是 .gif的, 那生成的文件名也要是 .gif 的)

save_dir 是保存文件的目录,如果想保存在当前文件的目录下,可以删掉或者注释掉这一句;如果想保存在别的地方,请确认目录存在,不然会报错。

看看我生成的二维码

GavinThomas

2.2 命令行

先 cd 到图片的目录下

C:\Users\ASUS> cd F:\二维码
C:\Users\ASUS>F:
F:\二维码>

然后输入 myqr 666 -p 下载.png -c

myqr 就是库的名字;666 是你想让别人扫描二维码看见的文字;-p 是参数;下载.png 是图片的名字;-c 也是参数,生成彩色的二维码。

具体过程如下图

效果就是在 F:\二维码 这生成了 下载_qrcode.png 这个二维码图片,扫描该二维码,识别出来的是 666 这 3 个字符。

3 相关说明

MyQR 的 GitHub 链接:https://github.com/sylnsfar/qrcode/blob/master/README-cn.md (点击阅读原文也可以访问)

其实有 Windows可以用的 exe 版:https://github.com/sylnsfar/qrcode_win(不过我没试)

也有封装好的网页版:http://www.amazing-qrcode.com/

题图:Photo by park dasol on Unsplash

原文发布于微信公众号 - 萧北月(beiyue_lbj)

原文发表时间:2018-04-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术换美食换不换

grpc-learn

RPC框架服装屏蔽底层传输方式(TCP/UDP),序列化方式(XML/Json/二进制)和通信细节,调用者可以像调用本地接口一样调用远程服务。核心是要解决在分布...

16820
来自专栏linux驱动个人学习

Linux内存寻址之分段机制及分页机制【转】

本文涉及的硬件平台是X86,如果是其他平台的话,如ARM,是会使用到MMU,但是没有使用到分段机制; 最近在学习Linux内核,读到《深入理解Linux内核》...

41630
来自专栏蜉蝣禅修之道

fs学习笔记之输出格式

21030
来自专栏Java帮帮-微信公众号-技术文章全总结

Mysql批量插入分析【面试+工作】

最近发现几个项目中都有批次插入数据库的功能,每个项目中批次插入的写法有一些差别,所以本文打算对Mysql的批次插入做一个详细的分析。

38920
来自专栏linux驱动个人学习

Linux CFS调度器之pick_next_task_fair选择下一个被调度的进程--Linux进程的管理与调度(二十八)

每个调度器类sched_class都必须提供一个pick_next_task函数用以在就绪队列中选择一个最优的进程来等待调度, 而我们的CFS调度器类中, 选择...

19820
来自专栏瓜大三哥

综合后的资源分析——资源与扇出分析

Get_timing_path Report_timing 第一条语句:起点 第二条语句:终点 第三条路径:设置为时序路径的起点和终点 时序分析步骤: N...

23350
来自专栏开发与安全

linux网络编程之socket(五):tcp流协议产生的粘包问题和解决方案

我们在前面曾经说过,发送端可以是一K一K地发送数据,而接收端的应用程序可以两K两K地提走数据,当然也有可能一次提走3K或6K数据,或者一次只提走几个字节的数据,...

34200
来自专栏Phoenix的Android之旅

如何跨app对其他应用进行虚拟点击

可能很多人在Android开发中会有这样的想法,如何模拟屏幕点击,向另外的app发送点击事件,来达到某种目的。 就像我们平时用 adb shell sendev...

14710
来自专栏Seebug漏洞平台

CVE-2015-1641 Word 利用样本分析

00 引 子 本文我们将通过一个恶意文档的分析来理解漏洞 CVE-2015-1641(MS15-033)的具体利用过程,以此还原它在现实攻击中的应用。就目前来...

36780
来自专栏MasiMaro 的技术博文

Windows程序设计学习笔记(一)Windows内存管理初步

学习Windows程序设计也有一些时间了,为了记录自己的学习成果,以便以后查看,我希望自己能够坚持写下一系列的学习心得,对自己学习的内容进行总结,同时与大家交流...

8310

扫码关注云+社区

领取腾讯云代金券