日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

详解 Python qrcode 二维码模块

發布時間:2024/3/12 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详解 Python qrcode 二维码模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文鏈接

摘要:?詳解 Python qrcode 二維碼模塊。

項目地址

https://github.com/lincolnloop/python-qrcode

聲明

importqrcode

使用

QRCode 方法

?

參數解釋

1、version:控制二維碼的大小,取值范圍從1到40。取最小值1時,二維碼大小為21*21。取值為 None (默認)或者使用fit=true參數(默認)時,二維碼會自動調整大小。

2、error_correction:控制二維碼糾錯級別。

ERRORCORRECTL:大約7%或者更少的錯誤會被更正。
ERRORCORRECTM:默認值,大約15%或者更少的錯誤會被更正。
ERRORCORRECTQ:大約25%或者更少的錯誤會被更正。
ERRORCORRECTH:大約30%或者更少的錯誤會被更正。
3、box_size:控制二維碼中每個格子的像素數,默認為 10。

4、border:控制二維碼四周留白包含的格子數,默認為4。

5、image_factory:選擇生成圖片的形式,默認為 PIL 圖像。

6、mask_pattern:選擇生成圖片的的掩模。

方法屬性解釋

常用方法:

1、add_data(str,optimize=20):添加要轉換的文字到data參數;如果使用了optimize優化參數,數據將被拆分為多個塊來進行優化,以找到一個長度至少為這個值的足夠簡潔的方式來生成二維碼。設置為“0”以避免優化。

2、make(fit=True):當fit參數為真或者沒有給出version參數時,將會調用bestfit方法來找到適合數據的最小尺寸。如果沒有設置maskpattern,將會調用bestmaskpattern方法來找到找到最有效的掩模圖案。最后將這些數據傳遞給makeImpl方法來生成二維碼。與qrcode本體的make方法不一樣的是,這個方法沒有任何返回值。

3、makeimage(fillcolor=None, backcolor=None,imagefactory=None):創建二維碼的圖像并返回,默認為 PIL 圖像。如果要讓二維碼有顏色,可以在這里設置。

4、clear:清空數據

5、get_matrix:返回二維碼數組。

6、print_ascii(out=None, tty=False, invert=False):這個方法就比較有趣了,可以用字符畫的形式來輸出二維碼,但是掃的時候一般都掃不出來。

?

其中的invert參數是決定是否反轉顏色的參數,默認為假,如果為真的話會這樣:

?

其他方法:

1、bestfit(start=self.version):找到適合數據所需的最小尺寸。

2、bestmaskpattern():找到最有效的掩模圖案。

3、makeImpl(test, maskpattern):生成二維碼的直接函數

4、mapdata:(內部函數,無需了解)

5、printtty(out=None):用TTY顏色輸出二維碼,如果沒有給出out參數,會使用sys.stdout。

6、setuppositionadjustpattern:(內部函數)

7、setuppositionprobepattern:(內部函數)

8、setuptimingpattern:(內部函數)

9、setuptypeinfo:(內部函數)

10、setuptypenumber:(內部函數)

屬性:

1、border:

2、boxsize:

3、datacache:

4、datalist:

5、errorcorrection:

6、imagefactory:

7、maskpattern:

8、modules:

9、modules_count:

10、version:

生成 SVG 圖像

qrcode可以生成三種不同的svg圖像,一種是用路徑表示的svg,一種是用矩形集合表示的完整svg文件,還有一種是用矩形集合表示的svg片段。第一種用路徑表示的svg其實就是矢量圖,可以在圖像放大的時候可以保持圖片質量,而另外兩種可能會在格子之間出現空隙。

這三種分別對應了svg.py中的SvgPathImage、SvgImage和SvgFragmentImage類。在調用qrcode.make函數或者實例化QRCode時當作image_factory參數的值傳入就可以了。

?

生成 PNG 圖像

執行命令安裝pymaging相關模塊:

?

然后給image_factor參數傳入qrcode.image.pure.PymagingImage就可以生成PNG圖片了。

?

這是作者推薦的方式,但是我個人認為,完全沒有必要這么麻煩,直接用默認的 PIL 就可以獲取 PNG 圖片了,例子看下文。

make 方法

make方法實際上就是在內部調用了QRCode(要轉換的文本).make_image(),最后(默認)返回了一個PIL圖像對象。

# 顯示圖片qrcode.make("hello world!").show() # 保存 PNG 圖片qrcode.make("hello world!").save('hello.png')

run_example 方法

生成一個作者項目網站地址的二維碼并顯示出來。

原文發布時間為:2018-07-24
本文作者:以茄之名
本文來自云棲社區合作伙伴“?Python中文社區”,了解相關信息可以關注“?Python中文社區”

總結

以上是生活随笔為你收集整理的详解 Python qrcode 二维码模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。