Python使用MyQR制作专属动态彩色二维码功能

yipeiwu_com5年前Python基础

Python中有一个非常有趣好玩的库MyQR,不仅可以制作各种漂亮的二维码,还可以生成动态彩色二维码。

MyQR是一个能够生成自定义二维码的第三方库,你可以根据需要生成普通二维码、带图片的艺术二维码,也可以生成动态二维码。

生成动态二维码

效果图如下:

二维码扫描上图看看

我们首先要安装MyQR库,直接用pip3 install myqr(or MyQR)。需要注意的是MyQR依赖于Python3,在Python2的环境下可能无法正常运行。

这个库提供了两种使用方法,一种是直接使用命令行的方式,另外一种使用import引入,可以设置更多个性化设置。

下面新建一个py文件之后直接复制代码:

from MyQR import myqr
import os

version, level, qr_name = myqr.run(
  words="https://www.linuxidc.com",     # 可以是字符串,也可以是网址(前面要加http(s)://)
  version=1,               # 设置容错率为最高
  level='H',               # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高
  picture="linuxidc.com.gif",              # 将二维码和图片合成
  colorized=True,             # 彩色二维码
  contrast=1.0,              #用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0
  brightness=1.0,             #用来调节图片的亮度,其余用法和取值同上
  save_name="www.linuxidc.com.gif",           # 保存文件的名字,格式可以是jpg,png,bmp,gif
  save_dir=os.getcwd()          #控制位置
)

接下来就可以修改参数了,colorized改为True就会生成彩图(你也colorized改为True),words替换为链接或者文本。

放上几个动态的二维码欣赏下:

扫描我

生成普通二维码

在程序中导入MyQR包下的模板myqr,其中word参数接收一个字符串作为二维码的内容。

from MyQR import myqr#注意大小写
myqr.run(words='https://www.linuxidc.com/')

运行后生成一个名为“qrcode.png”的二维码图片,用微信扫一扫刚刚生成的这个二维码,就会自动跳转到这个网址。

MyQR参数说明

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  调节图片的亮度 其余同上

save_name  输出文件名  str  默认输出文件名是 “qrcode.png”

save_dir  存储位置    str  默认存储位置是当前目录

总结

以上所述是小编给大家介绍的Python使用MyQR制作专属动态彩色二维码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python中import学习备忘笔记

前言 在python的模块有两种组织方式,一种是单纯的python文件,文件名就是模块名,一种是包,包是一个包含了若干python文件的目录,目录下必须有一个文件__init__.py,...

python3 判断列表是一个空列表的方法

python3 判断空列表 @(python3) 有个判断列表是否为空的需求,试了好多方式,比如: a = [] if a is not None: COMMAND a =...

Django框架中序列化和反序列化的例子

1.序列化 DRF的核心 就是 前后端分离的核心 前后端分离开发的核心: 将模型转换为json 称之为 序列化 将json转换为模型 称之为 反序列化 1.序列化器的字段 Seriali...

pyQT5 实现窗体之间传值的示例

pyQT5 实现窗体之间传值的示例

准备 一个MainWindow和一个WidgetForm,总代码如下 # -*- coding: utf-8 -*- from PyQt5 import QtWidgets fr...

Python2实现的图片文本识别功能详解

Python2实现的图片文本识别功能详解

本文实例讲述了Python2实现的图片文本识别功能。分享给大家供大家参考,具体如下: 这里需要用到python的几个库,分别是pytesser,以及pytesser的依赖库PIL。pyt...