Python | 一行命令生成动态二维码
当我看到别人的二维码都做的这么炫酷的时候,我心动了!
我也想要一个能够吸引眼球的二维码,今天就带大家一起用 Python 来做一个炫酷的二维码!
首先要安装工具 myqr:
pip install myqr
安装完成后,就可以在命令行中输入 myqr 查看下使用帮助:
$ myqr --help

可以看出 myqr 有着丰富的参数支持,这里就不再一一解释,后面使用到会再细说。
简单用法
首先我们生成一个普通二维码:
$ myqr "http://weixin.qq.com/r/PnUmPg7E8lONrUpd9yAs"
line 16: mode: byte
Succeed!
Check out your 2-H QR-code: /mnt/d/code/Python/learn/myqr/qrcode.png
这时就会在当前目录下生成一个名称为 qrcode.png 的二维码。
如果 myqr 后面传入的是普通字符串,那么扫描后会现在字符串。若是一个网址,扫描后会自动跳转。

大家可以扫描下看看,是不是我们设置的字符串。
需要注意的时,这里的字符串不能指定中文,否则会抛出 ValueError('Wrong words! Make sure the characters are supported!') 的异常。
1、使用 -d 可以控制输出的文件路径;
2、使用 -n 控制文件名称,格式可以是 .jpg、.png、.bmp、.gif;
3、使用 -l 可以控制二维码的纠错等级,范围是L、M、Q、H,从左到右依次升高;
4、使用 -v 控制二维码的边长,范围是 1 至 40,数字越大边长越大。
生成带图片的二维码
光是二维码,是否太单调了呢?没关系,我们能加上我们想要的图片,使二维码更具辨识度!
我们可以使用 -p 参数指定图片,将二维码与该图片结合在一起。

想要将上面的图片结合到二维码中,可以使用下面的命令来生成:
myqr "http://weixin.qq.com/r/PnUmPg7E8lONrUpd9yAs" -p developer.png

黑白的,似乎不是那么好看,彩色的如何呢? 实现彩色也非常简单。
如果想要生成彩色的,可以加上参数 -c。

另外,如果想要图片的对比度和亮度,可以使用参数 -con 控制图片对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为 1.0;
使用参数 -bri 用来调节图片的亮度,其余用法和取值与 -con 相同。
生成动态二维码
其实生成动态二维码,并没有想象的那么复杂。
方式与上面的带图片的二维码的生成方式没有区别,只是将原始图片换成 .gif 即可!

myqr "http://weixin.qq.com/r/PnUmPg7E8lONrUpd9yAs" -p who.gif -c


Python 代码中调用的方式生成
from MyQR import myqr
myqr.run('https://www.baidu.com')
## so easy
下面我们来详细的讲解一下 myqr.run() 函数里面的参数
| 参数 | 含义 | 详细 |
|---|---|---|
| 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,调节图片的亮度,其余用法和取值与 contrast 相同 |
| save_name | 输出文件名 | str,默认输出文件名是"qrcode.png" |
| save_dir | 存储位置 | str,默认存储位置是当前目录 |
myqr.run(words='https://www.baidu.com', picture='', colorized=True,)
总结
myqr 使用非常简单,一行代码就可以生成我们想要的二维码。另外,还有在 Python 代码中调用的方式生成,这里就不再赘述。
大家快试试生成自己的专属炫酷二维码吧!
======================================================================
myqr不支持中文内容,有中文需要可以用QRCode库
QRCode 生成二维码只用一行
import qrcode
qrcode.make("不睡觉干嘛呢").get_image().show() #设置URL必须添加http://
安装导入QRCode
pip install qrcode #方法多,体量小
QRCode 多种自定义方法
import qrcode
text = input("输入文字或URL:")
img =qrcode.make(text)
img.save() #保存图片至本地目录,可以设定路径
img.show()
生成添加logo的二维码
from PIL import Image
import qrcode,os def create_qrcode(url,qrcodename):
qr = qrcode.QRCode(
version=1, # 设置容错率为最高
error_correction=qrcode.ERROR_CORRECT_H, # 用于控制二维码的错误纠正程度
box_size=8, # 控制二维码中每个格子的像素数,默认为10
border=1, # 二维码四周留白,包含的格子数,默认为4
#image_factory=None, 保存在模块根目录的image文件夹下
#mask_pattern=None
) qr.add_data(url) # QRCode.add_data(data)函数添加数据
qr.make(fit=True) # QRCode.make(fit=True)函数生成图片 img = qr.make_image()
img = img.convert("RGBA") # 二维码设为彩色
logo = Image.open('xx.jpg') # 传gif生成的二维码也是没有动态效果的 w , h = img.size
logo_w , logo_h = logo.size
factor = 4 # 默认logo最大设为图片的四分之一
s_w = int(w / factor)
s_h = int(h / factor)
if logo_w > s_w or logo_h > s_h:
logo_w = s_w
logo_h = s_h logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)
l_w = int((w - logo_w) / 2)
l_h = int((h - logo_h) / 2)
logo = logo.convert("RGBA")
img.paste(logo, (l_w, l_h), logo)
img.show()
img.save(os.getcwd()+'/' + qrcodename + '.png', quality=100)
Python | 一行命令生成动态二维码的更多相关文章
- python小工具myqr生成动态二维码
python小工具myqr生成动态二维码 (一)安装 (二)使用 (一)安装 命令: pip install myqr 安装完成后,就可以在命令行中输入 myqr 查看下使用帮助: myqr --he ...
- phpqrcode生成动态二维码简单实例
这是一个利用phpqrcode生成动态二维码简单实例,比微信官方提供的接口还要好用.二维码是动态的,不用生成图片,可自定义二维码大小,间隙,跳转地址等. 参数设置: include_once 'php ...
- 你只要5行代码,拥有你的个性二维码,用Python生成动态二维码
如果想了解更多关于python的应用,可以私信我,或者点击下方链接自行获取,里面到资料都是免费的(http://t.cn/A6Zvjdun) 二维码满天飞,但是有没有想过Python也能制作出专属于自 ...
- 使用python3调用MyQR库生成动态二维码(附源代码)
可生成普通二维码.带图片的艺术二维码(黑白与彩色).动态二维码(黑白与彩色). GitHub:https://github.com/sylnsfar/qrcode 中文版:https://github ...
- python应用:生成简单二维码
概述 \(\quad\)第一篇python的应用就打算写一写用python生成简单的二维码啦.因为二维码在日常生活中越来越常用了,部分博客也用二维码来用作打赏的工具.但是要提醒大家的是,千万不要乱扫街 ...
- Python 生成个性二维码
1.1 实验内容 本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 本课程主要面向Python3初学者. 1.2 知识点 P ...
- 用一行Python代码制作动态二维码
在GitHub上发现了一个比较有意思的项目,只需要一行Python代码就可以快捷方便生成普通二维码.艺术二维码(黑白/彩色)和动态GIF二维码. GitHub网站参见:https://github.c ...
- Python制作动态二维码只需要一行代码!炒鸡简单!
分享一个比较有意思的项目,只需要一行Python代码就可以快捷方便生成普通二维码.艺术二维码(黑白/彩色)和动态GIF二维码. 用法比较简单,直接通过pip安装即可. pip3 install myq ...
- 用Python制作动态二维码
参考来源链接:https://mp.weixin.qq.com/s/p-ptQZD6_bjUhmU822OPww 今天在最大的同性交友社区GitHub上发现了一个比较有意思的项目,无论你是什么操作系统 ...
随机推荐
- 防止跨站请求伪造(CSRF)攻击 和 防重复提交 的方法的实现
CSRF的概念可以参考:http://netsecurity.51cto.com/art/200812/102951.htm 本文介绍的是基于spring拦截器的Spring MVC实现 首先配置拦截 ...
- case when then用法
--简单Case函数 CASE sex WHEN ' THEN '男' WHEN ' THEN '女' ELSE '其他' END //案例 select cid as 渠道编号, ' then '小 ...
- vijos 1006 晴天小猪历险记之Hill——数字三角形的终极变化
题目链接:https://vijos.org/p/1006 数字三角形原题看这里:http://www.cnblogs.com/huashanqingzhu/p/7326837.html 背景 在很久 ...
- Gerrit最简工作流
Gerrit最简工作流: git clone ... //注意clone with commit-msg hook,否则push可能失败(ERROR: missing Change-Id in c ...
- Maven实战——Gradle,构建工具的未来?
许晓斌-- 四月 05, 2011 Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会发现曾经大红大紫的技术已经成为了昨日黄花,当然,Maven也不会例外.虽然目前它基 ...
- [转载]DB2与ORACLE、MYSQL比较2
原文地址:DB2与ORACLE.MYSQL比较2作者:欣颖 4.2 Oracle9i Oracle的产品战略是每12到18个月发布一个主要版本.主要发行版本所遵循的命名战略在PC领域中更为常见,它不 ...
- java hashcode的Delphi实现
程序使用java做后台服务,数据处理时使用了java的hashcode,Delphi程序也需要生成这个hashcode,为了一致,所以要在Delphi下实现和Java一样的算法. 下面即Delphi版 ...
- wxss解析
一.概述 wxss是样式语言,用于描述wxml组件样式: 在css基础上扩展而来: 1.尺寸单位: rpx, rem 2.支持样式导入 @import语句导入外联样式表 note: 微信小程序一般使 ...
- 【MyBatis】MyBatis之别名typeAliases标签的使用
<configuration> <typeAliases> <typeAlias alias="Dept" type="cn.xdl.ent ...
- Swift 多态
前言 同样的操作或者方法,不同的对象在执行时会出现完全不同的行为,这就叫多态. 1.Swift 多态 多态是讲具有同样的父类的一批类之间,都重写了父类的同一个方法实现自己的行为,但是表现出来则各不相同 ...