使用ZXing相机解码混乱

时间:2012-11-19 08:37:26

标签: android

我检查互联网并看到使用ZXing来解决二维码。但是代码我不明白。

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

参数的含义是什么?

1 个答案:

答案 0 :(得分: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 - 内部矩形的高度。