當前位置:編程學習大全網 - 源碼下載 - 安卓ZXing二維碼,編解碼的算法是什麽,或者用位圖生成二維碼的算法是什麽?謝謝妳。

安卓ZXing二維碼,編解碼的算法是什麽,或者用位圖生成二維碼的算法是什麽?謝謝妳。

二維碼分為行式二維碼和矩陣式二維碼兩大類,以矩陣式二維碼中的二維碼為例。

二維碼是日本電裝公司開發的。目前網上有其二維碼信息組件QRcode.dll,可以對輸入的字符串進行二維碼。

呼叫接口定義:

標準方法

impcq encoder:Encode(BSTR bstrEncodeData,

byErrorCorrectionLevel,

BOOL bISOI2EC,

BSTR *pbstrResultStream)

輸入參數描述:

BSTR bstrancodedata:要編碼的字符串。註意壹個漢字對應兩個字節,對應漢字的內碼。

by糾錯級別:編碼糾錯級別的選擇,其中0表示糾錯級別L(7%),1表示糾錯級別M(15%),2表示糾錯級別Q (25%),3表示糾錯級別H(30%)。

采用的編碼標準。TRUE值表示采用國際標準(ISO/IEC 18004),false值表示采用國家標準(GB/TGB/T18284-2000)。

輸出參數描述:

BSTR *pbstrResultStream:輸出字符串,由三部分組成(註意每個字符是壹個字節)。

第壹部分是三個字節,這是編碼的QR符號的寬度。

第二部分是三個字節,是編碼的QR符號的高度。

第三部分是編碼的QR符號,其長度是QR符號的寬度和QR符號的高度的乘積。

例如,對於字符串“01234567”

編碼後得到的返回值是:

"021021111111101101101111111654 38+0000001010100010000011011101001101010111065438 +010111010110000101110110111010011000 1011101100000100110001000001111111101 010101111111000000001100000000000101101110065438+ 0000100101100010101101010010110010010111654 38+0000111110010110100010010110001010000111 1110010100100000000000011100101000011111116 5438+0010000110101101000001010111110001011065438+ 0110100101001000001101110101010010010110654 38+0011101010110100101001000001001011010110 11111111101001100100010"

字符串“01234567”應理解為:

21單位寬度(前三個字符‘021’),21單位高度正方形單位矩陣,

可以根據矩陣中的每個元素值(0或1)生成二維碼圖片對應位置的像素顏色。假設0的值是白色,1的值是黑色,每個單元(即021之後的字符)代表1個像素,那麽當前的二維碼圖片應該是21個像素寬,265440個像素寬。我覺得用這個定義生成圖片的算法,用編碼後的信息應該很容易實現。另外,二維碼的具體算法,我建議看看二維碼規範文檔,如果妳需要,我可以發給妳。

  • 上一篇:Javaeeapi源代碼
  • 下一篇:請教壹下:用PHP 從MYsql 中查詢數據並導出成cvs 或者xls 怎麽實現。如果方便的話給個源代碼,尤為感激!
  • copyright 2024編程學習大全網