1.python-qrcode是個用來生成二維碼圖片的第三方模塊,依賴於 PIL 模塊和 qrcode 庫。html
首先,咱們要安裝三個模塊,qrcode,image,PIL。python
pip install qrcodesql
pip install image網站
PIL:Python Imaging Library,已是Python平臺事實上的圖像處理標準庫了。PIL功能很是強大,但API卻很是簡單易用。spa
在Debian/Ubuntu Linux下直接經過apt安裝:code
$ sudo apt-get install python-imaging
Mac和其餘版本的Linux能夠直接使用easy_install或pip安裝,安裝前須要把編譯環境裝好:htm
$ sudo easy_install PIL
若是安裝失敗,根據提示先把缺失的包(好比openjpeg)裝上。blog
Windows平臺就去PIL官方網站下載exe安裝包。圖片
2.簡單用法ip
import qrcode img = qrcode.make('simpleqrcode') img.save('D:/simpleqrcode.jpg') #img.show()
3.高級用法
import qrcode qr=qrcode.QRCode(version = 2,error_correction = qrcode.constants.ERROR_CORRECT_L,box_size=10,border=10,) qr.add_data('http://www.cnblogs.com/sfnz/') qr.make(fit=True) img = qr.make_image() img.show() #img.save('D:/test.jpg')
4.帶有logo圖案的二維碼
from PIL import Image import qrcode qr = qrcode.QRCode(version=5,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=8,border=4) qr.add_data("http://www.cnblogs.com/sfnz/") qr.make(fit=True) img = qr.make_image() img = img.convert("RGBA") #logo="D:/favicon.jpg" icon = Image.open("D:/favicon.jpg") 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) icon = icon.convert("RGBA") img.paste(icon,(w,h),icon) #img.show() img.save('D:/createlogo.jpg')
參數含義:
version:值爲1~40的整數,控制二維碼的大小(最小值是1,是個12×12的矩陣)。 若是想讓程序自動肯定,將值設置爲 None 並使用 fit 參數便可。
error_correction:控制二維碼的錯誤糾正功能。可取值下列4個常量。
ERROR_CORRECT_L:大約7%或更少的錯誤能被糾正。
ERROR_CORRECT_M(默認):大約15%或更少的錯誤能被糾正。
ROR_CORRECT_H:大約30%或更少的錯誤能被糾正。
box_size:控制二維碼中每一個小格子包含的像素數。
border:控制邊框(二維碼與圖片邊界的距離)包含的格子數(默認爲4,是相關標準規定的最小值)。
img.save:是將生成二維碼圖片保存到哪裏。
參考文檔:
http://www.xuchanggang.cn/archives/1069.html
http://www.cnblogs.com/linjiqin/p/4140455.html
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00140767171357714f87a053a824ffd811d98a83b58ec13000
官網及參考手冊
http://pythonware.com/products/pil/
http://effbot.org/imagingbook/