时间:2021-05-23
python生成二维码的实例详解
版本相关
操作系统:Mac OS X EI Caption
Python版本:2.7
IDE:Sublime Text 3
依赖库
Python生成二维码需要的依赖库为PIL和QRcode。
坑爹的是,百度了好久都没有找到PIL,不知道是什么时候改名了,还是其他原因,pillow就是传说中的PIL。
安装命令:sudo pip install pillow、sudo pip install qrcode
验证是否安装成功,使用命令from PIL import Image,就可以验证PIL是否安装成功,qrcode则使用import qrcode,两条命令不报错,就说明依赖的环境已经完毕了。
使用qrcode
qrcode使用起来也很简单,代码如下:
import qrcodeqr = qrcode.QRCode( version=7, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4)qr.add_data("Hello")qr.make(fit=True)img = qr.make_image()img.save("test.png")参数 version 表示生成二维码的尺寸大小,取值范围是 1 至 40,最小尺寸 1 会生成 21 * 21 的二维码,version 每增加 1,生成的二维码就会添加 4 尺寸,例如 version 是 2,则生成 25 * 25 的二维码。
参数 error_correction 指定二维码的容错系数,分别有以下4个系数:
1.ERROR_CORRECT_L: 7%的字码可被容错
2.ERROR_CORRECT_M: 15%的字码可被容错
3.ERROR_CORRECT_Q: 25%的字码可被容错
4.ERROR_CORRECT_H: 30%的字码可被容错
参数 box_size 表示二维码里每个格子的像素大小。
参数 border 表示边框的格子厚度是多少(默认是4)。
运行代码后,会在代码的当前目录下生成一个test.png的二维码,用手机扫一下就可以看到Hello了。
带有logo的二维码
生成这个二维码的原理就是利用PIL库操作icon,把icon放到二维码的正中间。PIL操作没有去了解,就直接使用的代码来做事例。
import Imageimport qrcodeqr = qrcode.QRCode( version=2, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=10, border=1)qr.add_data("http://jb51.net/")qr.make(fit=True)img = qr.make_image()img = img.convert("RGBA")icon = Image.open("favicon.png")img_w, img_h = img.sizefactor = 4size_w = int(img_w / factor)size_h = int(img_h / factor)icon_w, icon_h = icon.sizeif icon_w > size_w: icon_w = size_wif icon_h > size_h: icon_h = size_hicon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)w = int((img_w - icon_w) / 2)h = int((img_h - icon_h) / 2)img.paste(icon, (w, h), icon)img.save("dhqme_qrcode.png")如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
复制代码代码如下://////生成二维码//////生成二维码路径///生成的内容///二维码宽///二维码高///需生成的Logo图片///privateBi
本文实例讲述了Python实现将文本生成二维码的方法。分享给大家供大家参考,具体如下:#coding:utf-8'''Python生成二维码v1.0主要将文本生
本文实例讲述了PHP生成二维码与识别二维码的方法。分享给大家供大家参考,具体如下:二维码的分类线性堆叠式二维码矩阵式二维码二维码的优缺点优点信息容量大编码范围广
本文实例讲述了PHP基于phpqrcode类生成二维码的方法。分享给大家供大家参考,具体如下:使用PHP语言生成二维码,还是挺有难度的,当然调用生成二维码图片的
本文实例讲述了Java实现的生成二维码和解析二维码URL操作。分享给大家供大家参考,具体如下:二维码依赖jar包,zxingcom.google.zxingja