基于Zxing的二维码的二维码扫描之横屏扫描
来源:互联网 发布:淘宝儿童电动车 编辑:程序博客网 时间:2024/06/05 21:50
防失效转载:http://blog.csdn.net/xiaorenwu1206/article/details/39052873
最近项目条码扫描要改为横屏,网上所搜了一下,然后发现我写的需要改动几行代码就可以了,还是很给力的。
如未查看之前的代码,请移步:
基于Zxing的二维码生成和二维码扫描
修改下面写代码就可以实现横屏条码扫描了
具体代码修改如下:
1、修改 activity配置文件
<activity android:name=".CaptureActivity" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden" > </activity>
android:screenOrientation=”portrait” 是关键 默认是landscape
2、修改CameraConfigurationManager.java中的setDesiredCameraParameters函数,
在 camera.setDisplayOrientation(90);
改成 camera.setDisplayOrientation(0);
3、修改CameraManager.java的getFramingRectInPreview()函数中修改成:
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;
4、修改DecodeHandler.java中的decode函数,
// 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(data, width, height);
然后修改函数中的变量,将rotatedData修改成data;
这样就能够实现横屏扫描了。
如果还需要改动扫描框的大小需要去CameraManager类里面改动:
//改变扫描框的最大、最小长宽 private static final int MIN_FRAME_WIDTH = 240; private static final int MIN_FRAME_HEIGHT = 240; private static final int MAX_FRAME_WIDTH = 720; private static final int MAX_FRAME_HEIGHT = 480;
好了,这样就可以很简单的是实现横屏扫描了。
阅读全文
0 0
- 基于Zxing的二维码的二维码扫描之横屏扫描
- 基于Zxing的二维码的二维码扫描之横屏扫描
- 基于zxing的二维码扫描
- Zxing二维码的扫描
- 基于zxing内核的二维码扫描
- 基于zxing的二维码(网格)扫描
- 基于zxing的仿微信二维码扫描界面
- 基于Zxing的二维码生成和二维码扫描
- 基于Zxing的二维码生成和二维码扫描
- 基于Zxing的二维码生成和二维码扫描
- android之基于Zxing二维码扫描
- 基于zxing实现二维码竖屏扫描
- 基于Zxing的二维码扫描解析库——ZxingPlus
- Android 基于Zxing二维码扫描的光速实现
- android基于ZXing和ZBar的二维码扫描项目
- 最简单的 Android ZXing二维码扫描
- 关于zxing二维码扫描开灯的问题
- 二维码扫描第三库ZXing的使用
- VMware Workstation 不可恢复错误 (vcpu-0)20171010
- 在刚开始创建链表的时候遇到的小问题
- maven入门
- 学习Retrofit+RXJava
- OkHttp深入理解(4)ConnectInterceptor
- 基于Zxing的二维码的二维码扫描之横屏扫描
- The Java SE 8 Stream Library
- java中如何遍历实体类的属性和数据类型以及属性值
- JDBC的操作步骤和实例(转载)
- 【CQOI2007】【NKOJ2006】三角形
- 6 ICMP:Internet控制报文协议
- LeetCode74 Search a 2D Matrix
- 动态存储--堆分配--数组
- failed to connect to beauty.moreunion.com/47.93.20.43 (port 80) after 15000ms