`
407827531
  • 浏览: 1060436 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

ZXing改横屏识别为竖屏识别

阅读更多

推荐安卓开发神器(里面有各种UI特效和android代码库实例)

解决方法:

1.在DecodeHandler.java中,修改decode方法
  PlanarYUVLuminanceSource source = CameraManager.get().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; // Here we are swapping, that's the difference to #11
    width = height;
    height = tmp;
   
    PlanarYUVLuminanceSource source = CameraManager.get().buildLuminanceSource(rotatedData, width, height);

2.在CameraManager.java中,注释代码:
            // rect.left = rect.left * cameraResolution.x / screenResolution.x;
            // rect.right = rect.right * cameraResolution.x / screenResolution.x;
            // rect.top = rect.top * cameraResolution.y / screenResolution.y;
            // rect.bottom = rect.bottom * cameraResolution.y / screenResolution.y;
修改为
            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;

3.在CameraConfigurationManager.java中,在setDesiredCameraParameters方法中添加一句
  camera.setDisplayOrientation(90);

4.在AndroidManifest.xml中,把Activity的属性android:screenOrientation="landscape"
改为
  android:screenOrientation="portrait"

编译运行即可!


参考:

http://code.google.com/p/zxing/issues/detail?id=178#c46


代码:
https://github.com/pplante/zxing-android

 

分享到:
评论
4 楼 ybbwang 2012-08-24  
还是会有问题。改成竖屏后有个别二维码识别为一维码了。。
头痛呢。
3 楼 ybbwang 2012-08-17  
嗯。那我再试一下。
2 楼 407827531 2012-08-17  
ybbwang 写道
我也是用了这样一个方法改成竖屏,不过有些二维码会读错。不知道怎么解决。请教一下。。ybbking@qq.com

读错是因为解码不对,和横竖屏无关把
1 楼 ybbwang 2012-08-17  
我也是用了这样一个方法改成竖屏,不过有些二维码会读错。不知道怎么解决。请教一下。。ybbking@qq.com

相关推荐

Global site tag (gtag.js) - Google Analytics