python简单二维码生成代码,怎么用python制作二维码
在去年的一篇文章中,我们曾经介绍过如何自制二维码(用一行python代码自制动态二维码)。在本文中,我们使用Python的myqr模块。通过使用这个模块中包含的MyQR包的run函数,我们可以用一行代码生成自己的二维码。
其中,myqr包的run函数的使用示例如下:
myqr.run(
words= 3359 www.163.com/,#二维码指向网址(前面带http(s)://的)
版本=10,#版本设置1-40
Level=H ,#纠错率L,M,Q,H
Picture=7.gif ,#复合二维码的图片
彩色=真,#彩色二维码
对比度=1.0,#用于调整画面的对比度
亮度=1.0,#用于调节画面亮度,其他用法和值同上。
Save_name= QR code.gif ,#保存文件的名称。格式可以是jpg,png,bmp,gif
Save_dir=os.getcwd() #二维码存储位置
)
在上面的代码中,最关键的参数是“words”,用来设置扫描二维码的链接和跳转地址。比如上面的代码,扫码后可以生成一个URL为163的二维码。可以试一试(具体制作原理请参考一行python代码实现自制动态二维码)。
图1自制小黄人二维码
那么现在问题来了,上面代码中制作的二维码,扫描后会跳转到你设置的网址。
但是如果我想做一个二维码来代替我微信个人名片的二维码
图二人名片二维码
如何实现这一点?是不是有点难。难的原因是我们不知道上面二维码的链接指向什么。那么如何解决这个问题呢?别担心,别忘了,我们的Python是一种“通用”语言,任何“轮子”都可以造出来。前几天偶然发现了一个Python模块“zxing”。这个模块很小,但是很有用。我们可以用这个模块解析二维码,返回二维码的链接地址。GitHub上“zxing”项目的链接地址如下:
https://github.com/zxing/zxing/
这个模块怎么用?让我们看一看。
毫无疑问,要使用这个模块,第一步当然是安装,方法就是常用的pip工具。
pip安装zxing
安装完成后,您可以将模块导入到程序代码中。
进口zxing
导入后,首先调用函数“BarCodeReader”生成一个专用于解析二维码的对象“Reader”。
读者=zxing。条形码阅读器()
接下来可以调用“reader”对象的“decode”方法解析二维码图片。注意,还是那句话,是二维码图片。具体格式如下。
code=reader.decode(img_name)
上述函数中传递的参数“img_name”就是要解析的二维码图像的名称。所生成的代码对象表示所识别的QR代码的相关数据。我们想要得到的是二维码的链接地址,需要采用code对象的“parsed”属性。
打印(code.parsed)
最后可以打印出识别出的二维码的链接跳转地址。简单吗?比如下面的代码可以识别我们刚刚做的Minions二维码的链接地址。
进口zxing
读者=zxing。条形码阅读器()
code=reader . decode( Minions QR code . gif )
打印(code.parsed)
最后,二维码的链接跳转地址可以解析并打印如下
https://www.163.com/.
接下来我们就用上面的方法来分析微信提供的个人名片二维码,做出一个新的可以代表自己个性的名片二维码。
首先抓取微信个人名片的二维码图片,如上图2所示。我们将其命名为“个人名片. jpg”。接下来写代码解析二维码的链接地址。
进口zxing
读者=zxing。条形码阅读器()
Code=reader.decode(个人名片. jpg )
打印(code.parsed)
打印二维码的链接跳转地址是
https://u.wechat.com/EDBHDJT5eP24hytpA4sNpZQ。
接下来,选择一张动态图片作为二维码的背景图片。
Bk.gif图片
然后,使用MrQR模块,只需
可以用这个链接地址作为跳转地址,制作自己的个性化名片二维码。
myqr.run(words=str(code.parsed),
版本=10,
picture=bk.gif ,
彩色=真,
Save_name=个人名片. gif )
生产结果如下
自制微信个人名片二维码
以上我们做的微信个人名片二维码,可以扫描试用。同样,你也可以用同样的方法制作自己的个人微信二维码和微信官方账号二维码。
我的付款二维码(可以给我钱!
)
我们的微信官方账号二维码(扫一扫加入)
好了,就这样。你自己试试吧。再见
-结束-
Python青少年编程
Python机器学习系列:
Python数据可视化系列推荐阅读:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。