最近因为工作需要生成二维码,小编就去网上找了一些有关生成二维码的资料,最方便的有在线生成的,链接如下:
好用得很,无论链接,文字还是图片,音频,名片它都可以包办到位。
如果你打开上面的链接,发现已经很满足了,那我们这一期就结束了。
如果你并没有满足这一点,还是想要继续探索的话,那我们继续。
在查找过程中,小编发现python也有生成二维码这样一个很强大的库,这里我们介绍两个包,第一个是qrcode,第二个是myqr。
首先我们需要把环境装好,使用pip进行安装:
pip install qrcode
pip install myqr
安装完之后我们便可以使用它了。
首先我们来看看qrcode是如何生成二维码的。
很简单,就5行:
# -*- coding: utf-8-*- import qrcode words='https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU1NDcwNTE2OA==&scene=126#wechat_redirect' img = qrcode.make(words) img.save('test.png') img.show()
看结果:
生成了一张二维码,就是这么简单。
下面我们来认识一下myqr,myqr和qrcode比起来确实变得丰富了不少,它可以做简单的二维码,也可以做漂亮的二维码,还可以做动态的二维码,比如这样:
比如这样:
再比如这样:
又或者用你本人的照片,也都是ok的!
(请无视小编那张难看的脸)
下面我就来教大家怎么去用它吧!
首先,我们上代码:
(需要复制代码,点击阅读原文)
代码里的参数我们这边来讲解一下:
可以通过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:传入的网址url(以网页为示例)
version:使用的版本,1-40之间
level:图片的质量等级,目前只有LMQH可选
picture:使用的源图片的所在路径
colorized:是否为彩色,Ture是彩色,False为黑白
save_name:保存二维码的名字
save_dir:保存二维码的路径
将参数都填全了,我们就可以直接运行代码了。
运行后就会有这样的效果:
效果还不错!
大家动手来试试吧!
当然,在安装了myqr之后,我们也可以选择不敲代码,直接使用终端指令来完成图片的生成:
myqr "https://weixin.qq.com/cgi-bin/readtemplate?check=false&t=weixin_getdownurl_sms&s=download&from=100&stype=10037102" -v 1 -l Q -n "s_qr.gif" -p s.gif -con 1.2 -bri 1.2 -c
进入cmd终端,直接敲:
myqr后面的参数我解释一下:
-v
控制边长,范围是1至40,数字越大边长越大;
-l
控制纠错水平,范围是L、M、Q、H,从左到右依次升高。
-n
控制文件名,格式可以是 .jpg
, .png
,.bmp
,.gif
;
-d
控制位置。
-c
可以使产生的图片由黑白变为彩色的。
-p
用来将QR二维码图像与一张同目录下的图片相结合,产生一张黑白图片。
-con
用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0。
-bri
用来调节图片的亮度,其余用法和取值与 -con
相同。
s.gif是你要传进去的图片,s_qr,gif是生成的二维码的名字。
如果想生成最简单最普通的二维码,可以直接在myqr后面加个想打开的网址就可以了:
myqr "https://weixin.qq.com/cgi-bin/readtemplate?check=false&t=weixin_getdownurl_sms&s=download&from=100&stype=10037102"
生成图片(默认名字qrcode):
如果想了解二维码的生成使用,项目地址:
https://github.com/sylnsfar/qrcode
如果想了解更多的关于python的内容,就请关注我吧!
(本篇文章的任何二维码都可以扫哦!)