zxing横竖屏问题完美解决,显示无拉伸_第1页
zxing横竖屏问题完美解决,显示无拉伸_第2页
zxing横竖屏问题完美解决,显示无拉伸_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、zxing 横竖屏问题完美解决,显示无拉伸在 zxing 开发中 camera 除了用到上述接口外还有一些 参数设置 Camera.Parameters ,这里主要在 CameraConfigurationManagerw 完成的,由于 google 源码 zxing 是横屏的,他在获取屏幕的时候在竖屏的时候自动转 换为横屏,代码如下: if (width < height)int temp = width;width =height; height = temp; boolean isCandidatePortrait = realWidth < realHeight; int

2、maybeFlippedWidth = isCandidatePortrait ? realHeight : realWidth; int maybeFlippedHeight = isCandidatePortrait ? realWidth : realHeight; 所以在更改横竖屏的时候这段代码很 重要,很多人都在 DecodeHandler 中添加 byte rotatedData = new bytedata.length;for (int y = 0; y< height; y+) for (int x = 0; x < width; x+)rotatedDatax

3、* height + height - y - 1 = datax + y * width; int tmp = width;width = height;height = tmp;data = rotatedData; 这个就把获取到的横屏数 据转为竖屏的,但这个有点繁琐,如果更改上述代码同时 也要更改 CameraManager 中的rect.left = rect.leftcameraResolution.y / screenResolution.x;rect.right =rect.right * cameraResolution.y / screenResolution.x;rect

4、.top = rect.top * cameraResolution.x /screenResolution.y; rect.bottom = rect.bottom * cameraResolution.x / screenResolution.y; framingRectInPreview = rect; 这样才可以转换为竖屏,不过这样改动有一个很突出的问题,哪就是在竖屏的时候 看到的二维码的高被拉伸了,这就是我说的之前 google 源 码中把竖屏也强制转换为横屏留下的,最好的解决方案就 是把 CameraConfiguration 中的获取窗口大小的代码 screenResolution = new Point(width,height); 中的 width 与 height 调换,这样我们就获取竖屏的窗口,也可以保证横 竖屏转换后看到的二维码看着不被拉伸,当然后面的代码 都不用变,在 setDesiredCameraParameters(Camera camera, boolean safeMode) 中添加 camera.setDisplayOrientation(90); 和把 Manifest 中 CaptureAct

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论