国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python生成二維碼的實例詳解

2020-02-16 10:31:03
字體:
來源:轉載
供稿:網友

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

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 白朗县| 稷山县| 项城市| 平远县| 乐都县| 通江县| 博兴县| 泉州市| 五指山市| 徐汇区| 新郑市| 广汉市| 内黄县| 灵寿县| 宣城市| 崇明县| 特克斯县| 龙州县| 根河市| 小金县| 铜山县| 繁昌县| 若尔盖县| 泰兴市| 高邮市| 嫩江县| 临武县| 巢湖市| 罗山县| 山东省| 余姚市| 北宁市| 乌拉特中旗| 揭东县| 隆昌县| 武邑县| 宁德市| 嘉荫县| 宁德市| 农安县| 旺苍县|