2012-11-19 75 views
1

我查了一下互聯網,看看用ZXing解決二維碼。但是我不明白的代碼。使用ZXing攝像頭解碼混淆

PlanarYUVLuminanceSource source = new PlanarYUVLuminanceSource(data, width, height, dstLeft, dstTop, dstWidth,dstHeight, false); 

參數的含義是什麼?

回答

1

我又去看了ZXing source code,我發現了以下(有跟到底布爾參數沒有構造函數)

PlanarYUVLuminanceSource(byte[] yuvData, int dataWidth, int dataHeight, int left, 
    int top, int width, int height) 
{ 
    super(width, height); 

    if (left + width > dataWidth || top + height > dataHeight) 
    { 
     throw new IllegalArgumentException("Crop rectangle does not fit within image data."); 
    } 

    this.yuvData = yuvData; 
    this.dataWidth = dataWidth; 
    this.dataHeight = dataHeight; 
    this.left = left; 
    this.top = top; 
} 

當我閱讀代碼我瞭解以下內容(我有一個假設:相關數據僅考慮QR碼應放置在圖像中的內矩形區域)。
byte [] yuvData - 包含圖像數據的字節數組。所有數據都是矩形內部和外部的數據。
int dataWidth - 數據的寬度。數據的寬度在矩形外部和內部的所有區域。
int dataHeight - 數據的高度。數據的高度在矩形外部和內部的所有區域。
int left - 矩形的左邊框。或者,從左側的矩形外部有多少像素。
int top - 矩形的上邊框。或者,頂部矩形外部有多少像素。
int width - 內部矩形的寬度。
int height - 內部矩形的高度。