根据 原git hub 地址 https://github.com/bingoogolapple/BGAQRCode-Android 稍作修改
ZXING扫描二维码的问题:
1.Google Zxing的二维码,条码扫描应用的是横屏的,也就是摄像头的“自然”方向。
2.扫描效果达不到微信,支付宝的效果(明显的例子就是扫描发票上的二维码,微信可以很快识别出来),可能微信是有图片增强算法的。
解决办法:
GitHub上有许多star比较高的项目
1.底层解码都是使用的ZXING的 MultiFormatReader.decodeWithState或者QRCodeReader.decode(专门识别二维码)
2.UI层主要是相机的参数设置和“取景数据”的获取。
阅读和修改源码需要注意的地方:
1.相机方向问题,也就是手机相机取景的自然方向是横屏的,所以坐标系也是横屏的,所以改到竖屏需要进行一些坐标系的转换
2.识别二维码或者条码的时候会返回识别到的“关键点”Point数组,二维码一般是上下左右四个(右下可能不返回),如果需要现实到UI也要对这些点进行一下坐标转化才能现实出来。
比较好的项目有
1. https://github.com/qingmei2/QrCodeScannerView-Android 专门识别二维码的,感觉上很快但是看代码没看出快在哪里(可能是直接用QRCodeReader直接解码的原因)

博客探讨了ZXING在扫描二维码时遇到的问题,包括横屏扫描和识别效果不佳等。作者提到了解决这些问题的方法,如参考GitHub上的高星项目,并分享了在修改ZXING源码时需要注意的坐标系转换和关键点处理。推荐了两个优秀的二维码扫描项目,并指出了它们的特点和使用中遇到并解决的BUG。
最低0.47元/天 解锁文章
718

被折叠的 条评论
为什么被折叠?



