Python应用自己实现生成二维码
Posted rrh4869
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python应用自己实现生成二维码相关的知识,希望对你有一定的参考价值。
1. 二维码随处可见
在我们的生活中,二维码可以说是无处不在了:加好友?扫个码!付钱?扫个码!大街小巷,二维码随处可见,甚至小广告里也加上了二维码。
如今,二维码已经有了信息获取、网站跳转、手机电商以及手机支付等多种功能。大家平时见到最多的应该是黑白的二维码。就像这样:
以下的内容中,你将会了解到二维码的基本知识并且学会制作一个属于你自己的动态二维码。
让我们一起来吧。
2. 二维码基础知识
二维码是用某种特定的几何图形按一定规律在平面(也即二维方向上)分布的黑白相间的图形记录数据符号信息的,它利用了计算机内部逻辑“0”“1”的概念,用几个与二进制相对应的几何图形来表示文字信息,每种码都有特定的字符集。
各部分解析:
- 位置探测图形:由三个黑白相间的大正方形嵌套组成,分别位于二维码左上角、右上角、左下角,目的是为了确定二维码的大小和位置。
- 定位图形 :由两条黑白相间的直线组成,便于确定二维码的角度,纠正扭曲。
- 校正图形 :仅在版本2以上存在,由三个黑白相间的小正方形嵌套组成,便于确定中心,纠正扭曲。
- 数据和纠错码:记录数据信息和相应的纠错码,纠错码的存在使当二维码的数据出现允许范围内的错误时,也可以正确解码。
- 版本信息 :仅在版本7以上存在,记录具体的版本信息。
- 格式信息 :记录使用的掩码和纠错等级。
好了,基础知识到这里,接下来我们来一步一步实现生成二维码。
3. 环境准备
安装导入qrcode以及myqr库,依次点击“开始”-“运行”-输入“cmd”,通过pip依次安装:
4. 简单的开始
然后我们开始制作一个最简单的二维码,代码如下:
运行后如下:
5. 进阶实现
稍作修改就可以自行输入二维码表示的信息:
然后我们给二维码加一个logo:
运行结果如下,扫描之后就能登录到北京理工大学的主页。
6 . 生成动态二维码
这下我们就要用到MyQR库了
下面我们来详细的讲解一下 myqr.run()
函数里面的参数
参数 | 含义 | 详细 |
---|---|---|
words | 二维码指向链接 | str,输入链接或者句子作为参数 |
version | 边长 | int,控制边长,范围是1到40,数字越大边长越大,默认边长是取决于你输入的信息的长度和使用的纠错等级 |
level | 纠错等级 | str,控制纠错水平,范围是L、M、Q、H,从左到右依次升高,默认纠错等级为‘H‘ |
picture | 结合图片 | str,将QR二维码图像与一张同目录下的图片相结合,产生一张黑白图片 |
colorized | 颜色 | bool,使产生的图片由黑白变为彩色的 |
contrast | 对比度 | float,调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0 |
brightness | 亮度 | float,调节图片的亮度,其余用法和取值与 contrast 相同 |
save_name | 输出文件名 | str,默认输出文件名是"qrcode.png" |
save_dir | 存储位置 | str,默认存储位置是当前目录 |
PS:二维码具有容错功能,当二维码图片被遮挡一部分后,仍可以扫描出来。容错的原理是二维码在编码过程中进行了冗余,就像是123被编码成123123,这样只要扫描到一部分二维码图片,二维码内容还是可以被全部读到。二维码容错率即是指二维码图标被遮挡多少后,仍可以被扫描出来的能力。容错率越高,则二维码图片能被遮挡的部分越多。
以上是关于Python应用自己实现生成二维码的主要内容,如果未能解决你的问题,请参考以下文章