博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Zxing框架扫描解决扫描框大小,图片压缩问题
阅读量:5900 次
发布时间:2019-06-19

本文共 1839 字,大约阅读时间需要 6 分钟。

在我们是Zxing框架进行二维码扫描的时候,会发现,如今手机随着分辨率的添加。那个扫描框会越来越小,在1920*1280和1280*720还算比較正常。可是三星的几款手机note4,5。S6,等几款手机分辨率高达2560*1440,甚至一些手机高达3660的吧记不清了。

在这些手机扫描的时候,弹出的扫描Activity中间SurfaceView扫描窗体小的也是醉了,

不说了解决的方法:

1:找到启动扫描的Intent    即:

Intent openCameraIntent = new Intent(context,CaptureActivity.class);

startActivityForResult(openCameraIntent,0);

2:跟进CaptureActivity类。在类中搜索:CameraManager。跟进进去CameraManager类中:最上面四行參数就是设置宽高的,

private static final int MIN_FRAME_WIDTH = (int) DP_SP_PX_Utils.dp2px(MyApplication.instance.getResources(),180);  private static final int MIN_FRAME_HEIGHT = (int) DP_SP_PX_Utils.dp2px(MyApplication.instance.getResources(),180);  private static final int MAX_FRAME_WIDTH = (int) DP_SP_PX_Utils.dp2px(MyApplication.instance.getResources(),240);  private static final int MAX_FRAME_HEIGHT = (int) DP_SP_PX_Utils.dp2px(MyApplication.instance.getResources(),240);

当中后边我进行了dp转换,这样每一个分辨率的屏幕扫描窗体大小都是固定的。完美解决这个问题。

第二个问题:每次扫描后图片都会压缩下

解决方法:在Zxing包下的camera包下找到CameraConfigurationManager.java类,改动:

搜索initFromCameraParameters 这种方法,在该方法下找到  Log.d(TAG, "Screen resolution: " + screenResolution);  这句话,在这句话以下加入这些代码:

Point screenResolutionForCamera = new Point();          screenResolutionForCamera.x = screenResolution.x;          screenResolutionForCamera.y = screenResolution.y;          // preview size is always something like 480*320, other 320*480          if (screenResolution.x < screenResolution.y) {          screenResolutionForCamera.x = screenResolution.y;          screenResolutionForCamera.y = screenResolution.x;          }
然后以下有一行这种代码:

[java] 
  1. cameraResolution = getCameraResolution(parameters, screenResolution);  

中的screenResolution改为  screenResolutionForCamera

例如以下:

[java] 
  1. cameraResolution = getCameraResolution(parameters, screenResoluti

保存。执行完美解决,  不须要积分,咱们互相学习。共同跟进步,有问题能够在评论区提出。

转载于:https://www.cnblogs.com/yutingliuyl/p/7141753.html

你可能感兴趣的文章
shell编程
查看>>
Memcached简介
查看>>
top命令批量执行
查看>>
网管的未来出路与学习成长方向选择
查看>>
redis常用语法命令
查看>>
爬取妹子图片
查看>>
IBM Bluemix初识
查看>>
storm 大牛博文
查看>>
数据库技术-为什么在MySQL中只使用InnoDB
查看>>
amazon 汇总
查看>>
cookie 和 session
查看>>
快速知道Windows server2008安装了哪些重要的服务
查看>>
SQL中利用DMV进行数据库性能分析
查看>>
VMware View 5.0从菜鸟到高手系列 5 -配置View Connection Server
查看>>
C# winfrom中创建,读,写、加密ini文件【DES】
查看>>
U盘安装centos7操作系统
查看>>
顺序查找,折半查找,二叉排序树的建立,哈希表的建立
查看>>
UESTC 2014 Summer Training #7 Div.2
查看>>
《气场》读书笔记
查看>>
Android NDK开发Crash错误定位
查看>>