原文链接:http://www.juzicode.com/archives/6377

桔子菌逛github的时候发现一个好玩的Python库,可以用来制作带背景图片或动态图的二维码,这个库在pypi上也有发布,可以直接通过pip安装:

python -m pip install amzqr

导入模块,模块名称为”amzqr”:

from amzqr import amzqr

使用方法非常简单,一个run()方法搞定一切:

from amzqr import amzqr
version, level, qr_name = amzqr.run(words,version=1,level='H',picture=None,colorized=False,contrast=1.0,brightness=1.0,save_name=None,save_dir=os.getcwd()
)

run()方法的入参比较多,含义如下:

  • words:要生成二维码的文字信息,一般是网址等信息;
  • version:边长,范围是1至40,数字越大边长越大;
  • level:纠错等级,范围是L、M、Q、H,H的纠错能力最强;
  • picture:背景图片的路径+文件名称;
  • colorized:是否彩色,在选择背景图片时生效;
  • contrast:对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0
  • brightness:亮度,用法和取值与contrast相同
  • save_name:生成二维码的文件名称,格式可以是 .jpg, .png ,.bmp ,.gif,默认输出文件名是“qrcode.png”;
  • save_dir:生成二维码图片的保存路径;

先看一个最简单的二维码生成例子:

#VX公众号: 桔子code; juzicode.com
from amzqr import amzqr
version, level, qr_name = amzqr.run(words='http://weixin.qq.com/r/Ejr54d-EkYLurZuC928A',version=1,level='H',picture=None,colorized=False,contrast=1.0,brightness=1.0,save_name=None,save_dir=os.getcwd()
)
print(version, level, qr_name)

运行结果:

line 16: mode: byte
5 H E:\juzicode\qrcode.png

从运行结果看,尺寸参数version虽然设置为1,但是从返回的version值为5,通过实验version在小于5时,默认生成的图像尺寸都设置为5。

生成的二维码效果如下图:

这种方式生成的二维码稍显简陋了点,下面我们生成增加背景图片的二维码,背景图片和py文件都在当前工作目录下,名称为logo.jpg,picture参数传入这个图片文件的名称,通过修改colorized参数为False或True可以分别生成背景为黑白或彩色图片的二维码:

#VX公众号: 桔子code; juzicode.com
from amzqr import amzqr
version, level, qr_name = amzqr.run(words='http://weixin.qq.com/r/Ejr54d-EkYLurZuC928A',version=10,level='H',picture='logo.jpg',colorized=False,contrast=1.0,brightness=1.0,save_name=None,save_dir=os.getcwd()
)
print(version, level, qr_name)
version, level, qr_name = amzqr.run(words='http://weixin.qq.com/r/Ejr54d-EkYLurZuC928A',version=10,level='H',picture='logo.jpg',colorized=True,contrast=1.0,brightness=1.0,save_name='logo-qrcode-color.png',save_dir=os.getcwd()
)
print(version, level, qr_name)

运行结果:

line 16: mode: byte
10 H E:\juzicode\logo_qrcode.png
line 16: mode: byte
10 H E:\juzicode\logo-qrcode-color.png

从运行结果看,在没有指定save_name的时候,默认生成的文件名称为背景图片文件名称+_qrcode.png,最后生成的二维码效果如下:

正是因为二维码强大的抗干扰能力,所以可以在添加背景图片的情况下也能被识别出来。

接下来我们生成一个带动态图背景的二维码,动态图的格式为GIF,也是通过picture变量传入动态图的文件名:

#VX公众号: 桔子code; juzicode.com
from amzqr import amzqr
version, level, qr_name = amzqr.run(words='http://weixin.qq.com/r/Ejr54d-EkYLurZuC928A',version=10,level='H',picture='dog.gif',colorized=True,contrast=1.0,brightness=1.0,save_name=None,save_dir=os.getcwd()
)
print(version, level, qr_name)

运行结果:

line 16: mode: byte
10 H E:\juzicode\dog_qrcode.gif

生成的二维码效果如下图:

note1:amzqr(https://pypi.org/project/amzqr/)是MyQR(https://pypi.org/project/MyQR/)的升级版,从pypi的homepage看,二者都指向同一个github库:https://github.com/x-hw/amazing-qr。

note2:gif其实就是多个静态图片的集合,包含gif背景的二维码就是包含多个静态图片背景的二维码的集合。

扩展阅读:

  1. amzqr pypi地址:https://pypi.org/project/amzqr/
  2. MyQR pypi地址:https://pypi.org/project/MyQR/
  3. amzqr github地址:https://github.com/x-hw/amazing-qr

一行代码深度定制你的专属二维码:(amzqr、MyQR制作动态二维码)相关推荐

  1. 用MyQR 制作动态二维码

    每天一点点,记录工作中实操可行 在用python制作动态二维码时,出现了这个错误 ValueError: Wrong picture! Input a filename that exists and ...

  2. uniapp中qrcode生成二维码后传的参数不见了_阿虚教你制作动态二维码,超详细教程!

    这篇教程很早之前就答应几个粉丝要写,拖的有点久了. 内容比较多,先上个目录 阿虚的教程会迟到,但永远不会缺席.hahahahhaha... 一. 先说一下今天要教的内容 ʕ•̫͡•ོʔ•̫͡•ཻʕ•̫ ...

  3. 如何用python制作动态二维码,提升表白成功率?

    来源:凹凸数据 本文约1000字,建议阅读5分钟. 本文教你用python制作动态二维码,助你表白成功! 关注数据派THU(DatapiTHU)后台回复"20200520"获取完整 ...

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

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

  5. 一行Python代码制作动态二维码

    目录 1.普通二维码 2.艺术二维码 3.动态二维码 在GitHub上发现了一个比较有意思的项目,只需要一行Python代码就可以快捷方便生成普通二维码.艺术二维码(黑白/彩色)和动态GIF二维码. ...

  6. 用Python制作动态二维码,一行代码就做到了

    如何做到用一行代码实现动态二维码的制作? 用法比较简单,直接通过pip安装即可 pip3 install myqr 安装完成之后,就可以生成你想要的二维码了.对!就是这么简单- 普通的二维码 直接执行 ...

  7. 用Python制作动态二维码,真的只需要一行代码!

    来源 | Python3X(ID:python3xxx) 在最大的同性交友社区GitHub上发现了一个比较有意思的项目,无论你是什么操作系统,只需要一行代码就可以很方便的生成二维码.包括普通二维码.艺 ...

  8. 教你用1行Python代码制作动态二维码

    在GitHub上发现了一个比较有意思的项目,只需要一行Python代码就可以快捷方便生成普通二维码.艺术二维码(黑白/彩色)和动态GIF二维码. GitHub网站参见:https://github.c ...

  9. 1行Python代码制作动态二维码

    目录 1.二维码简介 2.普通二维码 3.艺术二维码 4.动态二维码 1.二维码简介 目前流行的二维码(QR code)是1994年由日本Denso-Wave公司发明的.英文字中 QR 所代表的意义是 ...

最新文章

  1. 收藏 | 做人工智能必看的45篇论文-附下载地址
  2. 在OpenCV中怎样测量代码的运行时间?
  3. 阿里公共DNS正式发布:223.5.5.5 223.6.6.6
  4. debian 下修改boot停留时间
  5. SAP UI5 busy dialog - SVG
  6. vue --- 获取子组件数据的一个应急方案$refs
  7. 【微软小冰】多轮和情感机器人的先行者
  8. 【渝粤教育】电大中专学前儿童科学教育 (2)作业 题库
  9. python基础: 选择语句
  10. 基于ASP.NET技术 学生留言板的设计与实现
  11. ffmpeg转换视频编码
  12. ubuntu修改配置IP地址和DNS的方法总结(4种)
  13. 【BZOJ】2286: [Sdoi2011消耗战【虚树DP】
  14. 实战一:给定一段音频,请提取12维MFCC特征,阅读代码预加重、分帧、加窗部分,完善作业代码中fbank和mfcc部分,并给出最终的Fbank和MFCC特征,用默认的配置参数,无需进行修改
  15. java convexhull_android java opencv 2.4 convexhull convexdefect
  16. 1946年第一台计算机在哪个国家面试,面试问题 计算机
  17. 数据安全法下,企业如何平衡数据安全合规与业务性能?
  18. VPS云主机是什么?有什么优势?
  19. 计算机试题ab级,计算机等级考试一级模拟试题及答案(2套)
  20. 爬取巴比特快讯遇到状态码“521”

热门文章

  1. 让机房温度可视化:物联网下的数据中心环境运维新方式
  2. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)
  3. WPS 多文档独立显示
  4. 科技云报道:数字化转型提速,深信服有答案
  5. 让 QQ 邮箱更好用,支持桌面通知
  6. 关于qq一键登录的一些问题
  7. 仿163邮箱上传多附件,有点酷
  8. pubg:您的客户端将在10秒内关闭,因为一个关键的防作弊进程没有正确运行。通过验证您的游戏文件的完整性来解决此问题....
  9. 【力扣】买卖股票的最佳时机 II
  10. 不知道如何入门编程?最全在线教程网站汇总来了,还不赶快收藏