使用python3调用MyQR库生成动态二维码(附源代码)
可生成普通二维码、带图片的艺术二维码(黑白与彩色)、动态二维码(黑白与彩色)。
GitHub:https://github.com/sylnsfar/qrcode
中文版:https://github.com/sylnsfar/qrcode/blob/master/README-cn.md
已封装成MyQR库,直接使用pip安装即可
# 安装模块后
from MyQR import myqr
version, level, qr_name = myqr.run(
words,
version=1,
level='H',
picture=None,
colorized=False,
contrast=1.0,
brightness=1.0,
save_name=None,
save_dir=os.getcwd()
)
参数介绍:
# help(myqr)
Positional parameter
words: str Optional parameters
version: int, from 1 to 40
level: str, just one of ('L','M','Q','H')
picutre: str, a filename of a image
colorized: bool
constrast: float
brightness: float
save_name: str, the output filename like 'example.png'
save_dir: str, the output directory
words:字符串类型,链接或者句子作为参数,然后在程序的当前目录中产生相应的二维码图片文件
version:整型,控制边长,范围是1至40,数字越大边长越大
level:字符串类型,控制纠错水平,范围是L、M、Q、H,从左到右依次升高
picture:字符串类型,图片链接,支持png、jpg、bmp、gif(用gif格式的话,生成的二维码就是动态的)
colorized:布尔类型,True是彩色,False是黑白
save_name:字符串类型,保存二维码图片的名字,需要写出图片类型。默认输出文件名是“ qrcode.png ",而默认存储位置是当前目录,重名会覆盖当前
save_dir:字符串类型,保存二维码图片的路径
constrast:浮点类型,调节生成图片的对比度,1.0表示与原图片一致,更小的值表示更低的对比度
brightness:浮点类型,调节生成图片的亮度,用法与constrast一致
源代码
from MyQR import myqr
import os #1、黑白、L,其他参数默认
version, level, qr_name = myqr.run(
words='https://github.com/sylnsfar/qrcode/blob/master/README-cn.md' ,
version=1,
level='L',
picture='panda.png',
colorized=False,
contrast=1.0,
brightness=1.0,
save_name='1panda_noncolorized.png',
save_dir=os.getcwd()
) #2、彩色、L,其他参数默认
version, level, qr_name = myqr.run(
words='https://github.com/sylnsfar/qrcode/blob/master/README-cn.md' ,
version=1,
level='L',
picture='panda.png',
colorized=True,
contrast=1.0,
brightness=1.0,
save_name='2panda_colorized.png',
save_dir=os.getcwd()
) #3、彩色、H,其他参数默认
version, level, qr_name = myqr.run(
words='https://github.com/sylnsfar/qrcode/blob/master/README-cn.md' ,
version=1,
level='H',
picture='panda.png',
colorized=True,
contrast=1.0,
brightness=1.0,
save_name='3panda_colorized_H.png',
save_dir=os.getcwd()
) #4、彩色、H、40,其他参数默认
version, level, qr_name = myqr.run(
words='https://github.com/sylnsfar/qrcode/blob/master/README-cn.md' ,
version=40,
level='H',
picture='panda.png',
colorized=True,
contrast=1.0,
brightness=1.0,
save_name='4panda_colorized_H_40.png',
save_dir=os.getcwd()
) #5、彩色、动态二维码,其他参数默认
version, level, qr_name = myqr.run(
words='https://github.com/sylnsfar/qrcode/blob/master/README-cn.md' ,
version=1,
level='L',
picture='qb.gif',
colorized=True,
contrast=1.0,
brightness=1.0,
save_name='5qb.gif',
save_dir=os.getcwd()
)
原始图片:panda.png,大小1213*1213

结果(按顺序显示,未改显示图片的大小)





有几个小问题:
1. 原图本身是jpg格式,但是运行报错;将后缀改为png之后运行ok,原因暂时未知
2.生成的二维码大小要适中,若version过大(例如本例中的第四张),手机需要距离一定的距离才能扫到,但是无法识别
3.原图最好使用正方形图片
使用python3调用MyQR库生成动态二维码(附源代码)的更多相关文章
- python小工具myqr生成动态二维码
python小工具myqr生成动态二维码 (一)安装 (二)使用 (一)安装 命令: pip install myqr 安装完成后,就可以在命令行中输入 myqr 查看下使用帮助: myqr --he ...
- Python | 一行命令生成动态二维码
当我看到别人的二维码都做的这么炫酷的时候,我心动了! 我也想要一个能够吸引眼球的二维码,今天就带大家一起用 Python 来做一个炫酷的二维码! 首先要安装工具 myqr: pip install m ...
- phpqrcode生成动态二维码简单实例
这是一个利用phpqrcode生成动态二维码简单实例,比微信官方提供的接口还要好用.二维码是动态的,不用生成图片,可自定义二维码大小,间隙,跳转地址等. 参数设置: include_once 'php ...
- 你只要5行代码,拥有你的个性二维码,用Python生成动态二维码
如果想了解更多关于python的应用,可以私信我,或者点击下方链接自行获取,里面到资料都是免费的(http://t.cn/A6Zvjdun) 二维码满天飞,但是有没有想过Python也能制作出专属于自 ...
- Python 生成个性二维码
1.1 实验内容 本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 本课程主要面向Python3初学者. 1.2 知识点 P ...
- python3使用myqr生成链接二维码
技术背景 二维码技术在各个领域中都已经有非常成熟的应用,比如随处可见的二维码支付,比如疫情期间的绿码,再比如工业领域中,可以使用二维码作为定位的标签,大大提升了室内定位技术的精确度.二维码的格式内容大 ...
- 微信小程序动态生成保存二维码
起源:最近小程序需要涉及到一些推广方面的功能,所以要写一个动态生成二维码用户进行下载分享,写完之后受益良多,特此来分享一下: 一.微信小程序动态生成保存二维码 wxml: <view class ...
- demo:动态生成专属二维码
在日常生活中,随处可见二维码,那么js如何生成动态的专属二维码?其实,通过"二维码插件"我们可以快速生成二维码.在这,记录一下的生成专属二维码demo,一起来看看jquery.qr ...
- 用Python制作动态二维码
参考来源链接:https://mp.weixin.qq.com/s/p-ptQZD6_bjUhmU822OPww 今天在最大的同性交友社区GitHub上发现了一个比较有意思的项目,无论你是什么操作系统 ...
随机推荐
- 转 sqlplus/RMAN/lsnrctl 等工具连接缓慢
AIX上sqlplus /as sysdba rman target / 或者lsnrctl start时或者通过sqlplus system/oracle@orcl这样通过监听连接等方式来登陆 ...
- (转)Linxu磁盘体系知识介绍及磁盘介绍
Linxu磁盘体系知识介绍及磁盘介绍 系统管理 / 2017-01-14 / 0 条评论 / 浴春风 Linu磁盘设备基础知识指南磁盘速度快具备的条件: 1)主轴的转速5400/7200/10000/ ...
- JSON.stringify 语法讲解
作用:这个函数的作用主要是为了系列化对象的. 可能有些人对系列化这个词过敏,我的理解很简单.就是说把原来是对象的类型转换成字符串类型(或者更确切的说是json类型的).就这么简单.打个比方说,你有一个 ...
- HttpListener Start 拒绝访问
HttpListener Start 拒绝访问 以管理员权限运行cmd 输入: netsh http add urlacl url=http://127.0.0.1:8080/ user=HuQing
- Java ActiveMQ 示例
所需引入Jar包: jms-1.1.jar activemq-all-5.15.0.jar 生产者 package com.mousewheel.demo; import javax.jms.Conn ...
- fleet - 基于Machine Metadata的任务调度
基于Machine Metadata的任务调度 复杂和特定的要求的应用程序可以针对一个子集的集群调度通过machine metadata.强大的部署拓扑结构,可以实现的基础上的机器的地区,机架位置,磁 ...
- JVM类加载机制一
类加载的过程 什么是类加载?Java编译器会将我们编写好的代码编译成class字节码文件,JVM会把这些class字节码文件加载到内存中,并对加载的数据进行校验.准备.解析并初始化,这个过程就是类加载 ...
- 小技巧:在向导式页面设计中使用hidden型输入可以避免session的使用
在向导式页面设计中使用hidden型输入可以避免session的使用,从而减小内存开支. 在表单中使用隐藏输入类型<input type="hidden" name=&quo ...
- iOS - NSString 封装
在实际项目开发过程中,发现字符串使用频率还是非常高的,NSString提供了很多相关的API,但是在开发过程中发现很多业务功能都是相同的.因此根据在开发过程中遇到的字符串使用场景,进行了简单封装.具体 ...
- uvm_reg_backdoor——寄存器模型(十)
寄存器有前门和后门两种访问方式,这儿只看后门访问方式 //----------------------------------------------------------------------- ...