1
回答
二维码近距离无法识别
极速云服务器,低至1.04元/天>>>   
需求:如何修改(扩大)二维码识别区


问题:二维码近距离扫描无法识别


问题定性: 由于识别区太小,以至于近距离不能完全覆盖二维码图标??


用的是zxing3.2


请大神帮帮看看,谢谢!!!!
举报
--家贼王---
发帖于10个月前 1回/705阅


1.在CameraManager文件中, 方法: getFramingRectInPreview()

 重点看-->改成下边这个

   rect.left = rect.left * cameraResolution.y / screenResolution.x;


   rect.right = rect.right * cameraResolution.y / screenResolution.x;
   rect.top = rect.top * cameraResolution.x / screenResolution.y;
   rect.bottom = rect.bottom * cameraResolution.x / screenResolution.y;


2.在DecodeHandler文件中,方法:decode(...)

 重点看:

 PlanarYUVLuminanceSource source =      activity.getCameraManager().buildLuminanceSource(data, width, height);

 在上边代码前添加下边的代码:

   byte[] rotatedData =new byte[data.length];

    for(int y =0; y < height; y++) {
      for(int x =0; x < width; x++)
        rotatedData[x * height + height - y -1] = data[x + y * width];
    }
    int tmp = width;
    width = height;
    height = tmp;
    data = rotatedData;
顶部