我检查互联网并看到使用ZXing来解决二维码。但是代码我不明白。
PlanarYUVLuminanceSource source = new PlanarYUVLuminanceSource( data, width, height, dstLeft, dstTop, dstWidth,dstHeight, false);
参数的含义是什么?
答案 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 - 内部矩形的高度。