python生成二维码

举报
Python爱好者 发表于 2021/04/20 00:24:10 2021/04/20
【摘要】 最近因为工作需要生成二维码,小编就去网上找了一些有关生成二维码的资料,最方便的有在线生成的,链接如下: https://cli.im/ 好用得很,无论链接,文字还是图片,音频,名片它都可以包办到位。 如果你打开上面的链接,发现已经很满足了,那我们这一期就结束了。 如果你并没有满足这一点,还是想要继续探索的话,那我们继续。 在查找...

最近因为工作需要生成二维码,小编就去网上找了一些有关生成二维码的资料,最方便的有在线生成的,链接如下:

https://cli.im/

好用得很,无论链接,文字还是图片,音频,名片它都可以包办到位。


如果你打开上面的链接,发现已经很满足了,那我们这一期就结束了。







如果你并没有满足这一点,还是想要继续探索的话,那我们继续。


在查找过程中,小编发现python也有生成二维码这样一个很强大的库,这里我们介绍两个包,第一个是qrcode,第二个是myqr。


首先我们需要把环境装好,使用pip进行安装:

pip install qrcode

pip install myqr

640?wx_fmt=png


安装完之后我们便可以使用它了。

首先我们来看看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()

看结果:

640?wx_fmt=png

生成了一张二维码,就是这么简单。



下面我们来认识一下myqr,myqr和qrcode比起来确实变得丰富了不少,它可以做简单的二维码,也可以做漂亮的二维码,还可以做动态的二维码,比如这样:640?wx_fmt=png

比如这样:

640?wx_fmt=gif

640?wx_fmt=gif

再比如这样:

640?wx_fmt=gif


又或者用你本人的照片,也都是ok的!

640?wx_fmt=png

(请无视小编那张难看的脸2_05.png



下面我就来教大家怎么去用它吧!

首先,我们上代码:

640?wx_fmt=png

(需要复制代码,点击阅读原文)


代码里的参数我们这边来讲解一下:

可以通过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:保存二维码的路径


将参数都填全了,我们就可以直接运行代码了。

运行后就会有这样的效果:

640?wx_fmt=png                640?wx_fmt=png 

640?wx_fmt=gif              640?wx_fmt=gif


640?wx_fmt=png

效果还不错!

大家动手来试试吧!



当然,在安装了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终端,直接敲:

640?wx_fmt=png

myqr后面的参数我解释一下:


640?wx_fmt=png

-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"

640?wx_fmt=png

生成图片(默认名字qrcode):

640?wx_fmt=png



如果想了解二维码的生成使用,项目地址:

https://github.com/sylnsfar/qrcode

如果想了解更多的关于python的内容,就请关注我吧!

(本篇文章的任何二维码都可以扫哦!2_02.png

文章来源: blog.csdn.net,作者:敲代码的灰太狼,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/tongtongjing1765/article/details/100581853

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200