用 Python 生成有“灵魂”的二维码


用 Python 生成有“灵魂”的二维码

文章插图
 
本文作者:HelloGitHub-LITTLECHIEH
这是 HelloGitHub 推出的《讲解开源项目》[1]系列,今天给大家推荐一个 Python 开源生成二维码的项目——qrcode
一、介绍
1.1 二维码
二维码又称二维条码,常见的二维码为 QR Code,QR 全称 Quick Response 。是一个近几年来移动设备上超流行的一种编码方式,在现在的生活中二维码随处可见 。我们可以用它支付、浏览网站等,为什么他会这么流行?下面说几个特点:
  1. 可存储的信息量大:可容纳多达 1850 个大写字母或 2710 个数字或 1108 个字节或 500 多个汉字 。
  2. 容错能力强:具有纠错功能,这使得二维条码因穿孔、污损等引起局部损坏时,照样可以正确得到识读,损毁面积达 30% 仍可恢复信息 。
  3. 译码可靠性高:它比普通条码译码错误率百万分之二要低得多,误码率不超过千万分之一 。
  4. 激光可识别 。
比如我们现在常见的公众号二维码,他就利用了二维码容错能力强的特点,在二维码中间加入了公众号的图标 。虽然中间的图片遮盖了一部分二维码的真实数据,但因为其强大的容错能力,所以并没有影响二维码要传递的数据 。
1.2 二维码的组成
 
用 Python 生成有“灵魂”的二维码

文章插图
 
 
一图胜千言,好了这里二维码的基本知识就介绍完成了 。
1.3 生成二维码库
二维码是一个很方便的传递信息的载体,但是像上面黑白的二维码感觉非常缺少‘灵魂’ 。下面就介绍今天的主角:qrcode
这是一个由 Python 编写的二维码生成器,支持生成 GIF 动态、图片二维码,让你的二维码变得有趣起来 。
项目地址:https://github.com/sylnsfar/qrcode
二、qrcode 库的优点
为什么需要使用到这个二维码生成器来生成二维码呢?
  1. 使用简单:快速上手,仅需 2 行代码,即可开始使用!
  2. 在二维码中增加图片:可以让用户通过二维码中的图片,初步了解该二维码是和什么东西有关 。(该二维码加入了 HG 的 logo)
 
用 Python 生成有“灵魂”的二维码

文章插图
 
3. 在二维码中增加动图:通过动图,让二维码活过来 。
用 Python 生成有“灵魂”的二维码

文章插图
 
 
4. 使用方式多样:有以下的 3 种使用方式
  • 命令行方式
  • 导入文件方式(import)
  • 可执行文件[2]
5. 用就对了:我不要你觉得,我要我觉得 滑稽
三、快速上手
演示环境
操作系统:windows | Python 版本:3.5
3.1 安装
我们通过 Python 的 pip 包管理工具进行安装:
pip install myqr
注:此处可能需要升级 pip,升级命令 pip install --upgrade pip
安装完成之后,就可以直接在命令行中使用了!下面逐一讲解各种二维码的生成方法
3.2 普通二维码
首先生成一个普通二维码
  1. 打开 cmd
  2. 输入命令
myqr https://github.com -n helloword.png
  1. 参数 -n:生成二维码的文件名
这样就会得到一个二维码图片,生成的图片保存在了当前目录,后面可以通过传入参数修改默认目录 。
3.3 彩色二维码
  1. 先准备一张图片放在目录下(方形的图片效果最好)

用 Python 生成有“灵魂”的二维码

文章插图
2. 将图片名称修改为 github.jpg(后缀根据自己的照片格式而定)
3. 在命令行中输入:
myqr https://github.com -n mypicture.png -p github.jpg -c参数:
  • -n:生成二维码的名称
  • -p:二维码加入的图片,支持 jpg、gif、png 格式
  • -c:选择是否生成彩色二维码,如果不设置默认为黑白
  • 更多参数请看下面附录部分
3.4 动态二维码
步骤和彩色二维码的方法一致,但是需要注意:
  1. 增加图片为 gif
  2. 修改生成二维码的后缀为 gif
四、附录
4.1 MyQR 参数
从官方文档整理的常用参数如下: