`
407827531
  • 浏览: 1075850 次
  • 性别: 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

相关推荐

    Android zxing3.2完美横屏改竖屏

    本教程将深入探讨如何将ZXing 3.2版本从默认的横屏模式改为竖屏模式,并保持良好的用户体验,同时保证识别速度。 首先,我们需要理解ZXing的扫描界面为何默认为横屏。这是因为横屏模式通常可以提供更广阔的视野,...

    ZXing1.6改横屏识别为竖屏识别

    总之,将ZXing1.6从横屏识别改为竖屏识别是一个涉及Android相机API和ZXing库内部逻辑的工程,需要对Android开发和ZXing有深入的理解。不过,一旦完成,用户就能在竖屏模式下更方便地使用二维码扫描功能。

    zxing竖屏二维码扫描

    在默认情况下,ZXing库设计的扫描界面可能更适合横屏使用,扫描框较小,这可能导致在竖屏模式下用户需要将手机非常靠近二维码才能正确扫描,这并不符合用户的使用习惯。为了改善这种情况,我们需要对ZXing的扫描界面...

    zxing 竖屏完美解决

    标题“zxing 竖屏完美解决”指的是在使用ZXing库时,针对Android设备竖屏模式下,二维码图片显示和处理的一个优化问题。在某些情况下,当设备处于竖屏模式时,二维码的显示可能会受到影响,例如大小不适应屏幕或者...

    Android Zxing 扫描条码实现竖屏模式

    通常,Android设备的默认相机预览模式是横屏,但我们的需求是竖屏模式。因此,我们需要在`CameraManager`中调整相机的参数,确保预览画面适应竖屏显示。 `CameraManager.java`中的关键部分在于设置相机的参数。这...

    Android Zxing 转换竖屏扫描且提高识别率的方法

    Android Zxing 转换竖屏扫描且提高识别率的方法是指在 Android 平台上使用 Zxing 库时,如何将默认的横屏扫描转换为竖屏扫描,并且提高扫描识别率的方法。 转竖屏步骤: 1. 在 AndroidManifest.xml 文件中,把 ...

    二维码扫描Zxing横竖屏都支持,还可以切换激光线

    本项目着重介绍如何利用Zxing实现一个横竖屏都支持且可以切换激光线的二维码扫描功能。 首先,我们来看Zxing的基本概念。Zxing,全称“Zebra Crossing”,由Google开发,主要用于读取、生成和解码各种条形码和...

    Zxing最新demo【精简支持横竖屏】

    在给定的"Zxing最新demo【精简支持横竖屏】"中,我们关注的是2015年5月更新的ZXing库的精简版,特别优化了横竖屏切换的配置,这为开发者提供了更灵活的应用场景。 1. **ZXing库基础** ZXing库最初由Google开发,...

    安卓zxing扫描二维码竖屏精简版demo

    通常,扫描功能在横屏模式下更为常见,但考虑到许多设备用户更习惯竖屏操作,这个竖屏精简版的Demo具有很好的实用价值。 描述中提到,“看到晚上很多关于扫描二维码的demo,但是很多都不能用,今天上传一个精简版能...

    android二维码扫描竖屏,横屏(竖屏简化代码,横屏google源码)

    标题中的"竖屏简化版"可能是指一个专为手机竖屏模式优化的二维码扫描实现,它使用了核心库core2.0。这个版本的代码更简洁,仅支持扫描文本类型的二维码。核心库core2.0可能是ZXing的一个特定版本,包含二维码识别的...

    ZXing竖屏简化版

    1. **竖屏模式**:原版ZXing库通常是设计为横屏使用的,因为这更符合大多数摄像设备的默认方向。然而,许多现代智能手机用户更倾向于使用竖屏模式。此简化版已经针对竖屏进行了适配,使得在手机或平板的竖向持握时也...

    xe 10 zxing扫描二维码和识别图片二维码及其优化策略.pdf

    - 默认横向扫描:需要修改算法,以支持竖屏扫描。 - 自定义扫描界面困难:提供更灵活的界面设计和配置方式。 图形拉伸问题是一个常见的技术挑战,原因在于Android手机屏幕分辨率和尺寸的多样性。在进行二维码扫描时...

    android二维码横屏竖屏

    通过合理的资源管理和代码编写,我们可以为用户提供一个无论在横屏还是竖屏下都能顺畅使用的二维码扫描功能。提供的压缩包文件包含了相关示例代码,可直接用于测试和学习,帮助开发者快速理解和实现这一功能。

    Zxing二维码识别

    在AndroidManifest.xml中,可以声明Activity支持横屏和竖屏模式,同时在布局文件中设计响应的布局。在代码中,可以通过重写`onConfigurationChanged`方法来处理屏幕方向变化时的逻辑。 ### 闪光灯功能 在暗光环境下...

    二维码扫描竖屏删除不用代码,zxing3.2.1

    "竖屏删除不用代码"这部分描述可能是指在ZXing中,开发者可以很容易地实现竖屏模式下的二维码扫描,并且在不需要额外编码的情况下移除某些默认行为或元素。这通常通过配置ZXing的IntentIntegrator类实现,该类提供了...

    二维码扫描,横屏竖屏都支持

    在本文中,我们将深入探讨二维码扫描的工作原理、横屏与竖屏支持的实现方式,以及如何在应用程序中集成这一功能。 一、二维码工作原理 二维码,全称为“Quick Response Code”,即快速响应码,是一种二维条形码。它...

    Zxing条形码二维码扫描

    将Zxing的扫描界面改为竖屏涉及以下步骤: 1. **修改布局文件**:在XML布局文件中,调整根布局的方向为`android:screenOrientation="portrait"`,确保启动时界面为竖屏。 2. **调整扫描视图**:由于摄像头的捕获...

    Android Zxing二维码扫描图片拉伸的解决方法

    当设备的屏幕方向从横屏切换到竖屏时,相机预览的尺寸通常与屏幕分辨率不符,这就会导致图片被拉伸或压缩,从而影响二维码的正确识别。 为了解决这个问题,我们需要修改Zxing的核心组件`CameraConfigurationManager...

    二维码扫描,横屏竖屏都支持.

    在移动应用开发中,支持横屏和竖屏模式的二维码扫描功能是用户体验的重要组成部分。 首先,我们来讨论二维码的基本原理。二维码,全称二维条形码,是一种用黑白相间的图形表示信息的编码方式。它比传统的条形码能...

Global site tag (gtag.js) - Google Analytics