Zxing调整扫描区域 优化取图速度
来源:互联网 发布:上海淘宝公司 编辑:程序博客网 时间:2024/05/16 14:25
Demo本身默认的扫图区域最大只有 360*480 需要拉开很远的距离才能将整个二维码扫描到
因此需要我们自己调整取图大小
在CameraManager.java这个类中进行调整
默认的大小是 以下这4个参数
// private static final int MIN_FRAME_WIDTH = 240;
// private static final int MIN_FRAME_HEIGHT = 240;
// private static final int MAX_FRAME_WIDTH = 480;
// private static final int MAX_FRAME_HEIGHT = 360;
根据屏幕大小调整 大家可以增大这些数值 : 最小的宽 高 ; 最大宽高
参数实际在 getFramingRect() 方法中起作用
以下是原本Demo中提供的
/**
* Calculates the framing rect which the UI should draw to show the user where to place the
* barcode. This target helps with alignment as well as forces the user to hold the device
* far enough away to ensure the image will be in focus.
*
* @return The rectangle to draw on screen in window coordinates.
*/
public Rect getFramingRect() {
Point screenResolution = configManager.getScreenResolution();
if (framingRect == null) {
if (camera == null) {
return null;
}
//原生
int width = screenResolution.x * 3 / 4;
if (width < MIN_FRAME_WIDTH) {
width = MIN_FRAME_WIDTH;
} else if (width > MAX_FRAME_WIDTH) {
width = MAX_FRAME_WIDTH;
}
int height = screenResolution.y * 3 / 4;
if (height < MIN_FRAME_HEIGHT) {
height = MIN_FRAME_HEIGHT;
} else if (height > MAX_FRAME_HEIGHT) {
height = MAX_FRAME_HEIGHT;
}
int leftOffset = (screenResolution.x - width) / 2;
int topOffset = (screenResolution.y - height) / 2;
framingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height);
Log.d(TAG, "Calculated framing rect: " + framingRect);
}
return framingRect;
}
我为了适配不同的屏幕大小将代码改成了
public Rect getFramingRect() {
Point screenResolution = configManager.getScreenResolution();
if (framingRect == null) {
if (camera == null) {
return null;
}
//修改之后
int width = screenResolution.x * 7 / 10;
int height = screenResolution.y * 7 / 10;
int leftOffset = (screenResolution.x - width) / 2;
int topOffset = (screenResolution.y - height) / 3;
framingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height);
Log.d(TAG, "Calculated framing rect: " + framingRect);
}
return framingRect;
}
宽高 我占据了屏幕的 7/10
当然...取图改的这么大 会多占一点内存....相应的扫描的时候快得多
以上是实际读取图片的大小
实际的界面美化 在ViewfinderView 这个类当中进行绘制
- Android Zxing调整扫描区域 优化取图速度
- Zxing调整扫描区域 优化取图速度
- Android Zxing调整扫描区域 优化取图速度
- Android Zxing调整扫描区域 优化取图速度
- Android Zxing调整扫描区域 优化取图速度(调节扫描框大小)
- Android二维码ZXing扫描区域大小的调整,提高扫描速度
- 使用Google的zxing组件识别二维码时,调整扫描区域和取景框的大小
- ZXing扫描的优化
- zxing 调整扫描框后扫描不灵敏
- 修改zxing扫描二维码区域大小
- 取模速度优化
- Zxing扫描
- 解决Android二维码扫描ZXing竖屏拉伸变长闪退扫描区域小等问题
- android Zxing 扫描区域的大小设置和自定义扫描view
- Android二维码扫描使用ZXing竖屏拉伸变长闪退扫描区域小等问题
- zxing扫描添加闪光灯和自定义扫描识别框,修改识别区域
- 速度优化 - 分区大小调整完全手册
- 进一步优化计算的速度,调整次序。。。
- First集Follow集通俗易懂的讲解加实例
- 5个典型的JavaScript面试题
- Lucene - Overview
- 1155. Can I Post the lette
- 【BZOJ】【P1976】【BeiJing2010组队】【能量魔方 Cube】【题解】【最小割】
- Zxing调整扫描区域 优化取图速度
- 用Drawerlayout来实现侧滑效果
- snprintf比sprintf好,那么strncpy就比strcpy好?!
- python特殊语句
- 【MongoDB for Java】Java操作MongoDB
- 课程设计
- 再来5个JavaScript面试题
- Linux 虚拟内存和物理内存
- 实现自己的ls