https://github.com/lincolnloo...python
import qrcode
qrcode.QRCode( version=1, error_correction=qrcode.ERROR_CORRECT_L, box_size=10, border=4, image_factory=None, mask_pattern=None )
None
(默認)或者使用fit=true
參數(默認)時,二維碼會自動調整大小。error_correction:控制二維碼糾錯級別。git
經常使用方法:github
data
參數;若是使用了optimize
優化參數,數據將被拆分爲多個塊來進行優化,以找到一個長度至少爲這個值的足夠簡潔的方式來生成二維碼。設置爲「0」以免優化。fit
參數爲真或者沒有給出version
參數時,將會調用best_fit
方法來找到適合數據的最小尺寸。若是沒有設置mask_pattern
,將會調用best_mask_pattern
方法來找到找到最有效的掩模圖案。最後將這些數據傳遞給makeImpl
方法來生成二維碼。與qrcode
本體的make
方法不同的是,這個方法沒有任何返回值。 若是要讓二維碼有顏色,能夠在這裏設置。**數組
invert
參數是決定是否反轉顏色的參數,默認爲假,若是爲真的話會這樣:其餘方法:svg
out
參數,會使用sys.stdout
。屬性(這些你們基本都不用管):函數
qrcode
能夠生成三種不一樣的svg圖像,一種是用路徑表示的svg,一種是用矩形集合表示的完整svg文件,還有一種是用矩形集合表示的svg片斷。第一種用路徑表示的svg其實就是矢量圖,能夠在圖像放大的時候能夠保持圖片質量,而另外兩種可能會在格子之間出現空隙。 oop
這三種分別對應了svg.py中的SvgPathImage、SvgImage和SvgFragmentImage類。在調用qrcode.make
函數或者實例化QRCode
時看成image_factory
參數的值傳入就能夠了。優化
import qrcode.image.svg if method == 'basic': # Simple factory, just a set of rects. factory = qrcode.image.svg.SvgImage elif method == 'fragment': # Fragment factory (also just a set of rects) factory = qrcode.image.svg.SvgFragmentImage else: # Combined path factory, fixes white space that may occur when zooming factory = qrcode.image.svg.SvgPathImage img = qrcode.make('Some data here', image_factory=factory)
執行命令安裝pymaging
相關模塊:網站
pip install git+git://github.com/ojii/pymaging.git#egg=pymaging pip install git+git://github.com/ojii/pymaging-png.git#egg=pymaging-png
而後給image_factor
參數傳入qrcode.image.pure.PymagingImage
就能夠生成PNG圖片了。spa
import qrcode from qrcode.image.pure import PymagingImage img = qrcode.make('Some data here', image_factory=PymagingImage)
這是做者推薦的方式,可是我我的認爲,徹底沒有必要這麼麻煩,直接用默認的 PIL 就能夠獲取 PNG 圖片了,例子看下文。
make
方法實際上就是在內部調用了QRCode(要轉換的文本).make_image()
,最後(默認)返回了一個PIL圖像對象。
# 顯示圖片 qrcode.make("hello world!").show() # 保存 PNG 圖片 qrcode.make("hello world!").save('hello.png')
生成一個做者項目網站地址的二維碼並顯示出來。
翻譯自做者的Github地址中的 README 和具體代碼註釋。