推荐安卓开发神器(里面有各种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
相关推荐
本教程将深入探讨如何将ZXing 3.2版本从默认的横屏模式改为竖屏模式,并保持良好的用户体验,同时保证识别速度。 首先,我们需要理解ZXing的扫描界面为何默认为横屏。这是因为横屏模式通常可以提供更广阔的视野,...
总之,将ZXing1.6从横屏识别改为竖屏识别是一个涉及Android相机API和ZXing库内部逻辑的工程,需要对Android开发和ZXing有深入的理解。不过,一旦完成,用户就能在竖屏模式下更方便地使用二维码扫描功能。
在默认情况下,ZXing库设计的扫描界面可能更适合横屏使用,扫描框较小,这可能导致在竖屏模式下用户需要将手机非常靠近二维码才能正确扫描,这并不符合用户的使用习惯。为了改善这种情况,我们需要对ZXing的扫描界面...
标题“zxing 竖屏完美解决”指的是在使用ZXing库时,针对Android设备竖屏模式下,二维码图片显示和处理的一个优化问题。在某些情况下,当设备处于竖屏模式时,二维码的显示可能会受到影响,例如大小不适应屏幕或者...
通常,Android设备的默认相机预览模式是横屏,但我们的需求是竖屏模式。因此,我们需要在`CameraManager`中调整相机的参数,确保预览画面适应竖屏显示。 `CameraManager.java`中的关键部分在于设置相机的参数。这...
Android Zxing 转换竖屏扫描且提高识别率的方法是指在 Android 平台上使用 Zxing 库时,如何将默认的横屏扫描转换为竖屏扫描,并且提高扫描识别率的方法。 转竖屏步骤: 1. 在 AndroidManifest.xml 文件中,把 ...
本项目着重介绍如何利用Zxing实现一个横竖屏都支持且可以切换激光线的二维码扫描功能。 首先,我们来看Zxing的基本概念。Zxing,全称“Zebra Crossing”,由Google开发,主要用于读取、生成和解码各种条形码和...
在给定的"Zxing最新demo【精简支持横竖屏】"中,我们关注的是2015年5月更新的ZXing库的精简版,特别优化了横竖屏切换的配置,这为开发者提供了更灵活的应用场景。 1. **ZXing库基础** ZXing库最初由Google开发,...
通常,扫描功能在横屏模式下更为常见,但考虑到许多设备用户更习惯竖屏操作,这个竖屏精简版的Demo具有很好的实用价值。 描述中提到,“看到晚上很多关于扫描二维码的demo,但是很多都不能用,今天上传一个精简版能...
标题中的"竖屏简化版"可能是指一个专为手机竖屏模式优化的二维码扫描实现,它使用了核心库core2.0。这个版本的代码更简洁,仅支持扫描文本类型的二维码。核心库core2.0可能是ZXing的一个特定版本,包含二维码识别的...
1. **竖屏模式**:原版ZXing库通常是设计为横屏使用的,因为这更符合大多数摄像设备的默认方向。然而,许多现代智能手机用户更倾向于使用竖屏模式。此简化版已经针对竖屏进行了适配,使得在手机或平板的竖向持握时也...
- 默认横向扫描:需要修改算法,以支持竖屏扫描。 - 自定义扫描界面困难:提供更灵活的界面设计和配置方式。 图形拉伸问题是一个常见的技术挑战,原因在于Android手机屏幕分辨率和尺寸的多样性。在进行二维码扫描时...
通过合理的资源管理和代码编写,我们可以为用户提供一个无论在横屏还是竖屏下都能顺畅使用的二维码扫描功能。提供的压缩包文件包含了相关示例代码,可直接用于测试和学习,帮助开发者快速理解和实现这一功能。
在AndroidManifest.xml中,可以声明Activity支持横屏和竖屏模式,同时在布局文件中设计响应的布局。在代码中,可以通过重写`onConfigurationChanged`方法来处理屏幕方向变化时的逻辑。 ### 闪光灯功能 在暗光环境下...
"竖屏删除不用代码"这部分描述可能是指在ZXing中,开发者可以很容易地实现竖屏模式下的二维码扫描,并且在不需要额外编码的情况下移除某些默认行为或元素。这通常通过配置ZXing的IntentIntegrator类实现,该类提供了...
在本文中,我们将深入探讨二维码扫描的工作原理、横屏与竖屏支持的实现方式,以及如何在应用程序中集成这一功能。 一、二维码工作原理 二维码,全称为“Quick Response Code”,即快速响应码,是一种二维条形码。它...
将Zxing的扫描界面改为竖屏涉及以下步骤: 1. **修改布局文件**:在XML布局文件中,调整根布局的方向为`android:screenOrientation="portrait"`,确保启动时界面为竖屏。 2. **调整扫描视图**:由于摄像头的捕获...
当设备的屏幕方向从横屏切换到竖屏时,相机预览的尺寸通常与屏幕分辨率不符,这就会导致图片被拉伸或压缩,从而影响二维码的正确识别。 为了解决这个问题,我们需要修改Zxing的核心组件`CameraConfigurationManager...
在移动应用开发中,支持横屏和竖屏模式的二维码扫描功能是用户体验的重要组成部分。 首先,我们来讨论二维码的基本原理。二维码,全称二维条形码,是一种用黑白相间的图形表示信息的编码方式。它比传统的条形码能...