技术背景

二维码技术在各个领域中都已经有非常成熟的应用,比如随处可见的二维码支付,比如疫情期间的绿码,再比如工业领域中,可以使用二维码作为定位的标签,大大提升了室内定位技术的精确度。二维码的格式内容大致如下图所示(图片来自于参考链接2):

有人担心说,二维码被频繁的使用,中国一年要消耗15亿以上的二维码,那么二维码会有被用完的那一天吗?经过参考链接2中的计算,如果要使用完所有的二维码,需要全球70多亿的人口每个人消耗\(10^{134}\)个二维码就可以了,这可比湾湾一天吃18公斤的凤梨难度大多了。在本文中,我们要介绍使用python代码来生成一个专属的二维码。

安装myqr

MyQR跟其他的python库一样,可以通过pip来进行安装和管理:

[dechin@dechin-manjaro myqr]$ python3 -m pip install myqr
Collecting myqrDownloading MyQR-2.3.1.zip (16 kB)
Requirement already satisfied: imageio>=1.5 in /home/dechin/anaconda3/lib/python3.8/site-packages (from myqr) (2.9.0)
Requirement already satisfied: numpy>=1.11.1 in /home/dechin/anaconda3/lib/python3.8/site-packages (from myqr) (1.20.1)
Requirement already satisfied: Pillow>=3.3.1 in /home/dechin/anaconda3/lib/python3.8/site-packages (from myqr) (8.0.1)
Building wheels for collected packages: myqrBuilding wheel for myqr (setup.py) ... doneCreated wheel for myqr: filename=MyQR-2.3.1-py3-none-any.whl size=16668 sha256=21cf0a4fbb5d3208097fd280553ed3437ffa4cc218db528cbb14332336642b8fStored in directory: /home/dechin/.cache/pip/wheels/f8/b0/38/01c1fd37a94a2046d4fda17344fbecb454f1a907e8482d6d82
Successfully built myqr
Installing collected packages: myqr
Successfully installed myqr-2.3.1

显示安装成功后,就可以开始在本地使用myqr来生成自己的专属链接二维码了。

生成普通黑白二维码

首先我们用ipython来生成一个最简单最基础的二维码。使用的方法非常的简单,只需要配置好myqr.run中的参数即可。第一个参数words是代表需要跳转的链接,比如这里我们将博客主页的链接作为二维码的words。第二个参数version是二维码的大小,范围是1到40。更多的参数配置信息如下图所示(图片来自于参考链接1):

那么我们开始演示一个简单的示例:

[dechin@dechin-manjaro myqr]$ ipython
Python 3.8.5 (default, Sep  4 2020, 07:30:14)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.In [1]: from MyQR import myqrIn [2]: myqr.run(words='https://www.cnblogs.com/dechinphy/',version=9,save_name='mainpage.png...: ',save_dir='/home/dechin/projects/2021-python/myqr')
line 16: mode: byte
Out[2]: (9, 'H', '/home/dechin/projects/2021-python/myqr/mainpage.png')

在这个示例中我们只配置了链接、大小、存储名称和存储地址。其中存储地址可以查看pwd指令的返回结果:

[dechin@dechin-manjaro myqr]$ pwd
/home/dechin/projects/2021-python/myqr

然后将这个当前目录的绝对路径作为最终的存储地址。执行完myqr.run之后,会在本地生成一个png文件:

[dechin@dechin-manjaro myqr]$ ll
总用量 4
-rw-r--r-- 1 dechin dechin 1751  4月 16 10:40 mainpage.png

该文件的内容为:

生成静态图片背景的二维码

这里我们用头像的图片作为一个背景图片:

然后需要在上述的代码中修改一些配置信息,比如读取的picture名称和存储名称(避免存储覆盖)等:

In [3]: myqr.run(words='https://www.cnblogs.com/dechinphy/',version=9,picture='1.png',coloriz...: ed=True,save_name='mainpage_withgraph.png',save_dir='/home/dechin/projects/2021-pytho...: n/myqr')
line 16: mode: byte
Out[3]: (9, 'H', '/home/dechin/projects/2021-python/myqr/mainpage_withgraph.png')

执行完成后生成的二维码效果如下:

生成动态图背景的二维码

原理和使用方法跟上一个章节是一样的,只是把picture的参数配置为一个动态gif图,当然,由于我们希望输出的二维码也是一个动态效果图,因此在输出的格式中也要对应的配置为gif格式。由于博客限制不能上传10M以上大小的图片,这里我们找了一张小一点的gif动态图作为背景(图片来源于网站):

对应的配置python代码如下:

In [4]: myqr.run(words='https://www.cnblogs.com/dechinphy/',version=9,picture='bishi.gif',col...: orized=True,save_name='mainpage_withgif.gif',save_dir='/home/dechin/projects/2021-pyt...: hon/myqr')
line 16: mode: byte
Out[4]: (9, 'H', '/home/dechin/projects/2021-python/myqr/mainpage_withgif.gif')

gif动态图的处理和生成时间也会比静态图长很多,需要耐心的等待。经过一段时间的处理后,会在本地生成这样的一张二维码:

题外话

其实配合之前的博客中所介绍的,通过python来生成安卓程序的方法,我们可以将生成二维码的这个功能制作成一个简单的app以供移动端的日常使用。但是这里我们重点还是介绍二维码生成的方法,而且已经有很多在线的免费的二维码生成器可以使用,因此暂不展开实践。用在线生成器生成的二维码效果如下:

同时,有二维码生成器那么就有二维码的解码器,比如这个在线二维码解码器,效果如下:

总结概要

二维码技术在日常生活和工业应用中都担任着非常重要的角色,这里我们可以使用python的myqr来生成个性化的二维码,比如带图片背景的二维码,或者是动态背景的二维码。经过测试,用微信扫码都成功的识别了出来,也就是说这些二维码都是可以直接拿来使用的。当然,现在技术都已经非常成熟,所以有很多线上的免费的二维码生成器可以使用,配套的也有二维码解码器,可以将生成的二维码翻译成文字。

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/myqr.html
作者ID:DechinPhy
更多原著文章请参考:https://www.cnblogs.com/dechinphy/

参考链接

  1. https://blog.csdn.net/Time_D/article/details/88822258
  2. https://zhuanlan.zhihu.com/p/80328953

python3使用myqr生成链接二维码相关推荐

  1. python小工具myqr生成动态二维码

    python小工具myqr生成动态二维码 (一)安装 (二)使用 (一)安装 命令: pip install myqr 安装完成后,就可以在命令行中输入 myqr 查看下使用帮助: myqr --he ...

  2. MyQR 生成个性二维码

    MyQR 生成个性二维码 python中有一个好玩的库,不仅可以生成各种花色的二维码,还可以生成动态二维码.MyQR是一个能够生成自定义二维码的第三方库,可以根据需要生成普通二维码.带图片的艺术二维码 ...

  3. python生成链接二维码

    django生成链接二维码,用户扫码之后跳转到指定链接(生成的二维码图片转成了base64,前端收到之后需要转成图片即可): import qrcode, base64 from io import ...

  4. C#(Asp.Net)生成链接二维码

    生成链接二维码,扫描二维码即可进入对应的链接网站. 1.下载ThoughtWorks.QRCode.dll动态库 忘记怎么上传资源了,这个库网上比较多,可以自行下载. 2. aspx界面 <fo ...

  5. myqr生成个性二维码

    使用MyQR成个性二维码 参考 实验楼:https://www.shiyanlou.com/courses/1126 github源码作者:https://github.com/sylnsfar/qr ...

  6. 抖音链接怎么制作二维码?轻松几步在线生成链接二维码

    当下抖音短视频非常的火爆,已经是大家日常娱乐消遣不必可少的.想要将一段抖音视频链接做成二维码图片的时候要怎么办呢?使用什么工具能在线制作二维码呢? 一.什么工具能够在线生成二维码 机智熊二维码生成器( ...

  7. python生成链接二维码,保存到本地

    利用python生成二维码链接 from MyQR import myqrmyqr.run(words='hhttps://jingyan.baidu.com/article/ae97a6467262 ...

  8. 公众号文章链接怎么做二维码?在线生成链接二维码的方法

    公众号是现在品牌运营时必备的一个渠道,通过不断地发表公众号推文来提高自己的品牌力,那么如果想要将一篇公众号文章生成二维码(二维码在线制作-二维码生成器-音视频二维码制作工具-机制熊二维码)后分享给他人 ...

  9. python怎么安装myqr模块-python二维码操作:对QRCode和MyQR入门详解

    python是所有编程语言中模块最丰富的 生活中常见的二维码功能在使用python第三方库来生成十分容易 三个大矩形是定位图案,用于标记二维码的大小.这三个定位图案有白边,通过这三个矩形就可以标识一个 ...

最新文章

  1. 初学Java ssh之Spring 第一篇
  2. java string封装类_java中八种基本数据类型以及它们的封装类,String类型的一些理解...
  3. (27)XILINX FPGA bit文件转换成MCS文件(FPGA不积跬步101)
  4. Spring(一):简介
  5. SQL Server数据库log shipping 灾备(Part2 )
  6. SQL*Plus格式化查询结果
  7. 理解辐射校正、辐射定标、大气校正关系
  8. dwr 例外被抛出且未被接住 engine.js
  9. layui select 默认选中 vue select 动态选中
  10. Linux虚拟机安装谷歌浏览器和驱动
  11. Linux虚拟机配置防火墙和软件安装限制
  12. 去掉网页从网页中拷贝到word中段落带有的背景颜色
  13. 21张手机壁纸,送给我爱的你们~
  14. 1/1917钓鱼思维导图
  15. flink部署-1.13
  16. 罗克韦尔AB PLC RSLogix5000中定时器指令使用方法介绍
  17. 电子表格的历史:除非你知道它从何而来,否则你将无法预测它将走向何方
  18. Ant学习笔记(Ant入门)
  19. ha 配置ssl_烂泥:haproxy学习之https配置
  20. Java是什么?我们为什么要学习Java?

热门文章

  1. java计算时间差(耗时计算)的三种方式
  2. 哈工大自动出校申请(selenium+chromedriver)(2021.3.22更新)
  3. windows10在python环境下pip install安装模块方法(matplotlib、scipy、Pillow)
  4. 资产监测设备中GPS的C/N0和SNR的关系
  5. JavaEE项目bug修复记——一场由特殊空字符(160号ASCII码)引发的血案
  6. python-浮点数取整
  7. php渔夫,渔夫有爱——5.2钓鱼新增内容 附日常稀有鱼经验
  8. 机器学习DGA域名检测
  9. File类之文件目录常用操作
  10. 水安ABC考试多选练习题库(7)