可生成普通二维码、带图片的艺术二维码(黑白与彩色)、动态二维码(黑白与彩色)。

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库生成动态二维码(附源代码)的更多相关文章

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

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

  2. Python | 一行命令生成动态二维码

    当我看到别人的二维码都做的这么炫酷的时候,我心动了! 我也想要一个能够吸引眼球的二维码,今天就带大家一起用 Python 来做一个炫酷的二维码! 首先要安装工具 myqr: pip install m ...

  3. phpqrcode生成动态二维码简单实例

    这是一个利用phpqrcode生成动态二维码简单实例,比微信官方提供的接口还要好用.二维码是动态的,不用生成图片,可自定义二维码大小,间隙,跳转地址等. 参数设置: include_once 'php ...

  4. 你只要5行代码,拥有你的个性二维码,用Python生成动态二维码

    如果想了解更多关于python的应用,可以私信我,或者点击下方链接自行获取,里面到资料都是免费的(http://t.cn/A6Zvjdun) 二维码满天飞,但是有没有想过Python也能制作出专属于自 ...

  5. Python 生成个性二维码

    1.1 实验内容 本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 本课程主要面向Python3初学者. 1.2 知识点 P ...

  6. python3使用myqr生成链接二维码

    技术背景 二维码技术在各个领域中都已经有非常成熟的应用,比如随处可见的二维码支付,比如疫情期间的绿码,再比如工业领域中,可以使用二维码作为定位的标签,大大提升了室内定位技术的精确度.二维码的格式内容大 ...

  7. 微信小程序动态生成保存二维码

    起源:最近小程序需要涉及到一些推广方面的功能,所以要写一个动态生成二维码用户进行下载分享,写完之后受益良多,特此来分享一下: 一.微信小程序动态生成保存二维码 wxml: <view class ...

  8. demo:动态生成专属二维码

    在日常生活中,随处可见二维码,那么js如何生成动态的专属二维码?其实,通过"二维码插件"我们可以快速生成二维码.在这,记录一下的生成专属二维码demo,一起来看看jquery.qr ...

  9. 用Python制作动态二维码

    参考来源链接:https://mp.weixin.qq.com/s/p-ptQZD6_bjUhmU822OPww 今天在最大的同性交友社区GitHub上发现了一个比较有意思的项目,无论你是什么操作系统 ...

随机推荐

  1. Zepto事件模块源码分析

    Zepto事件模块源码分析 一.保存事件数据的handlers 我们知道js原生api中要移除事件,需要传入绑定时的回调函数.而Zepto则可以不传入回调函数,直接移除对应类型的所有事件.原因就在于Z ...

  2. Array.isArray() 和 isObject() 原生js实现

    function isObject(val) { return val != null && typeof val === 'object' && Array.isAr ...

  3. keil下JLINK在线调试仿真设置,SWD连接

    keil下JLINK在线调试仿真设置,以下三个步骤搞定: 有时我们编译时会遇到空间不足的情况,首先我们应该把 flash和RAM的size 设置为当前所用芯片的大小,如下我使用了一个片上flash 2 ...

  4. Python+Selenium与Chrome如何进行完美结合

    zhuan:http://blog.51cto.com/starpoint/2102975?cid=704621 使用WebDriver在Chrome浏览器上进行测试时,需要从http://chrom ...

  5. 读书笔记2013-2 Linux内核设计与实现A

    读书笔记2013-2 Linux内核设计与实现A <Linux内核设计与实现> 简介 这本书不是想Linux源码剖析那样一行行分析Linux源代码的书,而是从Linux历史,Linux哲学 ...

  6. Android中一个关于ListView的奇怪问题

    今天在做项目的时候发现了一个比较奇怪的问题,是关于ListView的,即ListView的android:height属性会影响程序中ListView的getView()方法的调用次数,如果设置Lis ...

  7. 在DataGridView控件中显示下拉列表

    实现效果: 知识运用: DataGridViewComboBoxColumn类 //通过该类可以创建下拉列表样式的列 实现代码: private void Form1_Load(object send ...

  8. 在DataGridView控件中隔行换色

    实现效果: 知识运用: DataGridViewRow类的公共属性DefaultCellStyle的BackColor属性 public Color BackColor {get; set;} 实现代 ...

  9. Verilog设计分频器(面试必看)

    分频器是指使输出信号频率为输入信号频率整数分之一的电子电路.在许多电子设备中如电子钟.频率合成器等,需要各种不同频率的信号协同工作,常用的方法是以稳定度高的晶体振荡器为主振源,通过变换得到所需要的各种 ...

  10. opencv将rgb图像转换成灰度图

    python写法: import cv2 img = cv2.imread(img_dir, cv2.IMREAD_GRAYSCALE) cv2.imwrite(dis_dir, img) imrea ...