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

首頁(yè) > 編程 > Python > 正文

python生成二維碼的實(shí)例詳解

2020-01-04 16:25:07
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

python生成二維碼的實(shí)例詳解

版本相關(guān)

操作系統(tǒng):Mac OS X EI Caption

Python版本:2.7

IDE:Sublime Text 3

依賴(lài)庫(kù)

Python生成二維碼需要的依賴(lài)庫(kù)為PIL和QRcode。

坑爹的是,百度了好久都沒(méi)有找到PIL,不知道是什么時(shí)候改名了,還是其他原因,pillow就是傳說(shuō)中的PIL。

安裝命令:sudo pip install pillow、sudo pip install qrcode

驗(yàn)證是否安裝成功,使用命令from PIL import Image,就可以驗(yàn)證PIL是否安裝成功,qrcode則使用import qrcode,兩條命令不報(bào)錯(cuò),就說(shuō)明依賴(lài)的環(huán)境已經(jīng)完畢了。

使用qrcode

qrcode使用起來(lái)也很簡(jiǎn)單,代碼如下:

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

參數(shù) version 表示生成二維碼的尺寸大小,取值范圍是 1 至 40,最小尺寸 1 會(huì)生成 21 * 21 的二維碼,version 每增加 1,生成的二維碼就會(huì)添加 4 尺寸,例如 version 是 2,則生成 25 * 25 的二維碼。

參數(shù) error_correction 指定二維碼的容錯(cuò)系數(shù),分別有以下4個(gè)系數(shù):

1.ERROR_CORRECT_L: 7%的字碼可被容錯(cuò)
2.ERROR_CORRECT_M: 15%的字碼可被容錯(cuò)
3.ERROR_CORRECT_Q: 25%的字碼可被容錯(cuò)
4.ERROR_CORRECT_H: 30%的字碼可被容錯(cuò)

參數(shù) box_size 表示二維碼里每個(gè)格子的像素大小。

參數(shù) border 表示邊框的格子厚度是多少(默認(rèn)是4)。

運(yùn)行代碼后,會(huì)在代碼的當(dāng)前目錄下生成一個(gè)test.png的二維碼,用手機(jī)掃一下就可以看到Hello了。

帶有l(wèi)ogo的二維碼

生成這個(gè)二維碼的原理就是利用PIL庫(kù)操作icon,把icon放到二維碼的正中間。PIL操作沒(méi)有去了解,就直接使用VEVB武林網(wǎng)的代碼來(lái)做事例。

import Imageimport qrcodeqr = qrcode.QRCode(  version=2,  error_correction=qrcode.constants.ERROR_CORRECT_H,  box_size=10,  border=1)qr.add_data("http://vevb.com/")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")

如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到python教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 定日县| 德安县| 冀州市| 铁力市| 台江县| 永修县| 漾濞| 永和县| 祁东县| 永新县| 肃宁县| 利川市| 若尔盖县| 常山县| 长沙市| 蕲春县| 昌邑市| 沂水县| 乌兰浩特市| 三台县| 大庆市| 凤山市| 白朗县| 天气| 九龙坡区| 上高县| 琼中| 紫云| 新乡市| 百色市| 汉中市| 方山县| 满城县| 泰州市| 清远市| 桂东县| 楚雄市| 广元市| 日喀则市| 江达县| 澎湖县|