class QRCode -- QRCode 物件

qrcode 物件是由 Image.find_qrcodes() 回傳的 attrtuple。每個實例描述一個已解碼的 QR-code:其邊界框、已解碼的酬載、解碼器中繼資料(版本、ECC 等級、遮罩、資料類型、ECI)、四個偵測到的角點,以及用來辨識酬載編碼方式的便利布林旗標。

欄位可透過屬性名稱(qrcode.payload)或索引(qrcode[0])存取。此物件沒有公開的建構子。

class image.qrcode

請呼叫 Image.find_qrcodes() 來建立此物件。

邊界框與角點

x

邊界框左上角 x 座標,單位為像素。整數。索引 [0]

y

邊界框左上角 y 座標,單位為像素。整數。索引 [1]

w

邊界框寬度,單位為像素。整數。索引 [2]

h

邊界框高度,單位為像素。整數。索引 [3]

corners

QR code 四個偵測到的角點的 (x, y) 整數元組所構成的 4 元組,從左上角開始順時針排序。索引 [10]

rect

邊界框的 (x, y, w, h) 4 元組。適合直接傳遞給繪製/裁切方法,例如 Image.draw_rectangle()Image.crop()。索引 [15]

已解碼的酬載

payload

已解碼的酬載字串。索引 [4]

解碼器中繼資料

version

QR-code 版本,1 -- 40。較高的版本可編碼更多資料且模組較大。整數。索引 [5]

ecc_level

錯誤更正等級,0 -- 3(對應 L / M / Q / H)。數值越高,保留給錯誤更正的碼字越多。整數。索引 [6]

mask

遮罩圖樣,0 -- 7。QR-code 編碼器用來選擇可將解碼器混淆降至最低的模組圖樣。整數。索引 [7]

data_type

解碼器回報的酬載編碼方式。為下列其中一個位元遮罩值:1 數字、2 字母數字、4 二進位、8 漢字。較易讀的形式請參閱下方的個別旗標屬性。整數。索引 [8]

eci

擴充通道解譯(Extended Channel Interpretation)值。編碼酬載中位元組所使用的文字編碼(例如 UTF-8 與 ISO-8859-1 之別)。整數。索引 [9]

編碼旗標

is_numeric

data_type 指示為數字酬載則為 True。索引 [11]

is_alphanumeric

data_type 指示為字母數字酬載則為 True。索引 [12]

is_binary

data_type 指示為二進位酬載則為 True。當此為 True 時,請檢查 eci 以判定文字編碼。索引 [13]

is_kanji

data_type 指示為漢字酬載則為 True。漢字符號每個字元為 10 位元,而 MicroPython 並不解析此編碼 -- 必須將酬載視為位元組陣列來處理。索引 [14]