python生成二維碼的實(shí)例詳解
python生成二維碼的實(shí)例詳解
版本相關(guān)
操作系統(tǒng):Mac OS X EI Caption
Python版本:2.7
IDE:Sublime Text 3
依賴庫(kù)
Python生成二維碼需要的依賴庫(kù)為PIL和QRcode。
坑爹的是,百度了好久都沒有找到PIL,不知道是什么時(shí)候改名了,還是其他原因,pillow就是傳說中的PIL。
安裝命令:sudo pip install pillow、sudo pip install qrcode
驗(yàn)證是否安裝成功,使用命令from PIL import Image,就可以驗(yàn)證PIL是否安裝成功,qrcode則使用import qrcode,兩條命令不報(bào)錯(cuò),就說明依賴的環(huán)境已經(jīng)完畢了。
使用qrcode
qrcode使用起來也很簡(jiǎn)單,代碼如下:
import qrcode qr = 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操作沒有去了解,就直接使用腳本之家的代碼來做事例。
import Image import qrcode qr = 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.size factor = 4 size_w = int(img_w / factor) size_h = int(img_h / factor) icon_w, icon_h = icon.size if icon_w > size_w: icon_w = size_w if icon_h > size_h: icon_h = size_h icon = 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")
如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
python提取照片坐標(biāo)信息的實(shí)例代碼
這篇文章主要介紹了python提取照片坐標(biāo)信息的實(shí)例代碼,文中給大家提到了Python利用exifread庫(kù)來解析照片的經(jīng)緯度,通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08解決python訓(xùn)練模型報(bào)錯(cuò):BrokenPipeError:?[Errno?32]?Broken?pipe
這篇文章主要介紹了解決python訓(xùn)練模型報(bào)錯(cuò):BrokenPipeError:?[Errno?32]?Broken?pipe問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07Python正則表達(dá)式字符串的匹配、替換、分割、查找方式
這篇文章主要介紹了Python正則表達(dá)式字符串的匹配、替換、分割、查找方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07python安裝oracle擴(kuò)展及數(shù)據(jù)庫(kù)連接方法
這篇文章主要介紹了python安裝oracle擴(kuò)展及數(shù)據(jù)庫(kù)連接方法,較為詳細(xì)的分析了Python下載oracle擴(kuò)展及Windows、Linux環(huán)境下的安裝步驟、操作技巧及注意事項(xiàng),需要的朋友可以參考下2017-02-02基于TensorFlow的CNN實(shí)現(xiàn)Mnist手寫數(shù)字識(shí)別
這篇文章主要為大家詳細(xì)介紹了基于TensorFlow的CNN實(shí)現(xiàn)Mnist手寫數(shù)字識(shí)別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06對(duì)Python 兩大環(huán)境管理神器 pyenv 和 virtualenv詳解
今天小編就為大家分享一篇對(duì)Python 兩大環(huán)境管理神器 pyenv 和 virtualenv詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12