android Zxing二维码扫描 竖屏切换问题的解决

Android 详解使用 Zxing实现前置摄像头扫描二维码、生成二维码 现在二维码使用越来越广泛了,几乎处处可见,并且 公司相关的项目中几乎全部都和二维码扫描有关,所以总结一下自己的使用心路历程,总觉得要做点什么来记录自己的成长,让自己的成长有迹可循,如果恰好能够帮助到你,我当然会很开心啦。 废话结束,正文开始 Android中常用的就是zxing,开源项目地址:https://github.com/zxing/zxing 一、 二、 三、 四、 ... 阅读详情

Zxing 竖屏切换  android

在google上下载的ZxingDemo 为横屏状态  

我简单的在Androidmanifest.xml把Activity换成竖屏android:screenOrientation="portrait"

屏幕虽然正了 但是屏幕上显示的拍摄画面还是横着的 

查了一些网上的资料   结合自己手工调试 

在这里总结分享一下

 

步骤:

1)   在AndroidManifest.xml中把  <Activity  />标签  CaptureActivity 的screenOrientation修改为

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. android:screenOrientation="portrait"  


2)  在CameraManager.java类中的getFramingRectInPreview()替换掉原先的 left right top bottom

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //竖屏  
  2. rect.left = rect.left * cameraResolution.y / screenResolution.x;   
  3. rect.right = rect.right * cameraResolution.y / screenResolution.x;   
  4. rect.top = rect.top * cameraResolution.x / screenResolution.y;   
  5. rect.bottom = rect.bottom * cameraResolution.x / screenResolution.y;   


3)  在CameraConfigurationManager.java中void setDesiredCameraParameters(Camera camera)方法

在setParameters之前增加

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. camera.setDisplayOrientation(90);  


4)  在DecodeHandler.java中的 decode(byte[] data, int width, int height)方法在

PlanarYUVLuminanceSource source = CameraManager.get().buildLuminanceSource(data, width, height);

之前添加:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. byte[] rotatedData = new byte[data.length];   
  2.  for (int y = 0; y < height; y++) {   
  3.  for (int x = 0; x < width; x++)   
  4.  rotatedData[x * height + height - y - 1] = data[x + y * width];   
  5.  }   
  6.  int tmp = width; // Here we are swapping, that's the difference to #11   
  7.  width = height;   
  8.  height = tmp;   
  9.  data = rotatedData;  


5)  将CameraConfigurationManager的  initFromCameraParameters(Camera camera)方法整个替换如下

该方法防止竖屏后屏幕拉伸

 

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /** 
  2.  * Reads, one time, values from the camera that are needed by the app. 
  3.  */  
  4. void initFromCameraParameters(Camera camera) {  
  5.     Camera.Parameters parameters = camera.getParameters();  
  6.     previewFormat = parameters.getPreviewFormat();  
  7.     previewFormatString = parameters.get("preview-format");  
  8.     Log.d(TAG, "Default preview format: " + previewFormat + '/'  
  9.             + previewFormatString);  
  10.     WindowManager manager = (WindowManager) context  
  11.             .getSystemService(Context.WINDOW_SERVICE);  
  12.     Display display = manager.getDefaultDisplay();  
  13.     screenResolution = new Point(display.getWidth(), display.getHeight());  
  14.     Log.d(TAG, "Screen resolution: " + screenResolution);  
  15.       
  16.     Point screenResolutionForCamera = new Point();     
  17.     screenResolutionForCamera.x = screenResolution.x;     
  18.     screenResolutionForCamera.y = screenResolution.y;     
  19.       
  20.     // preview size is always something like 480*320, other 320*480  
  21.     if (screenResolution.x < screenResolution.y) {    
  22.          screenResolutionForCamera.x = screenResolution.y;    
  23.          screenResolutionForCamera.y = screenResolution.x;  
  24.     }  
  25.       
  26.     cameraResolution = getCameraResolution(parameters, screenResolutionForCamera);  
  27. /       cameraResolution = getCameraResolution(parameters, screenResolution);  
  28.     Log.d(TAG, "Camera resolution: " + screenResolution);  
  29. }  


 

至此Zxing 横屏就切换为竖屏

不足之处请在下方留言  谢谢 

希望对您有用 

资源下载地址:http://download.youkuaiyun.com/detail/aaawqqq/7281577

将zxing扫码界面改为竖屏的问题 1.   功能概述默认的ZXing Demo提供的是横屏扫描,不符合现在市场的流行趋势和用户的使用习惯,然而在修改界面为竖屏的过程中,我们发现zxing无法读取条形码数据(二维码可以正常读取)。修改布局的过程不再赘述。2.  修改说明1) 在AndroidManifest.xml中,把Activity的属性的screenOrientation设置为"portrait"。在开发android的应用中... 阅读详情

相关推荐

利用 ZXing Android Embedded 实现二维码处理

ZXing Android Embedded 是一个非常好用的开源库,对于 ZXing 在 Android 上的应用方法进行了精简。这里简单地用一个小 demo 来练习对此库的使用。

mouzhai的博客 4569

Zxing扫码默认为横屏改竖屏实现

修竖屏时,zxing版本 3.4.1 1、指定activity为竖屏 android:screenOrientation="portrait" 2、DecodeHandler 中,在decode(byte[] data, int width, int height)方法中,增加以下代码 byte[] rotatedData = new byte[data.length]; for (int y = 0; y < height; y++) { for (int x = 0; x <

yinianjian2017的博客 2861

android 二维码扫描 支持横竖屏切换Demo

本案例是基于 Github项目解析(十)-->几行代码快速集成二维码扫描库 实现自由切换横竖屏二维码扫描。 这位大神重构zxing库非常简单,并且非常好的扩展性。唯一不足没有支持切换到横屏。 然后根据网上的教程以及对代码的了解进行支持切换到横屏。 一个activity支持横竖屏使用: public class QrCodeActivity extends FragmentAct

陈英有 1323

Google ZXing系列讲解(四)——ZXing 解决竖屏扫描问题

前言本篇文章带你了解 - ZXing Android Demo竖屏后无法实现扫描原因 - ZXing 横竖屏下扫描条码/二维码ZXing横竖屏扫描默认的ZXing Demo提供的是横屏扫描,讲真,确实不符合使用习惯。然,仅仅修改AndroidManifest.xml中的 android:screenOrientation 为 portrait 无法扫描成功。 <activity andr

shrimpcolo的专栏 2101

Android二维码(仿微信,轻量Zxing)

1、集成速度快,相关核心功能都已经再次封装好 2、最新的V3.30的工程,识别速度快,基本见图秒识别 3、解决横竖屏的问题,通过设置Activity的android:screenOrientation=”portrait” 方式设置,就可以自适应横屏竖屏 4、去掉工程中无用的代码,留下最核心的代码,实现最最最轻量级 5、自定义AutoScannerView控件,实现微信识别区域的效果

2281

快速掌握ZXing实现Android二维码扫描功能

ZXing(”Zebra Crossing”)是一个开源的、用Java实现的库,旨在解析和生成各种格式的一维和二维条码,包括常见的二维码。它被广泛应用于移动设备应用中进行条码扫描,为开发者提供了强大的工具,可以轻松地集成到自己的项目中。在第二章我们已经讨论了如何在Android应用中集成ZXing库,并搭建了基本的扫描界面。本章节将深入探讨如何进一步优化和美化用户界面(UI),以及实现更丰富的交互逻辑,从而提升整体用户体验。用户界面的美观程度和操作便捷性直接影响用户的使用体验。

weixin_36047538的博客 643

android zxing 识别率,Android Zxing 转换竖屏扫描且提高识别率

最近的一个Android需要用到扫码功能,用的是Zxing开源库。Zxing的集成就不说了,但是Zxing默认的是横屏扫码,在实际生产中并不适用,需要改为竖屏扫描。转竖屏步骤:1>.AndroidManifest.xml中把activity标签CaptureActivity部分的screenOrientation改为portrait。android:screenOrientation="p...

weixin_39637179的博客 284

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

Android Zxing 扫描条码实现竖屏模式(portrait mode) 摄像头camera 旋转90度 具体实现

ZXing二维码扫描横屏变竖屏,并解决摄像拉伸问题

第1步: 在AndroidManifest中将CaptureActivity的screenOrientation属性做如下修改: android:name=".zxing.activity.CaptureActivity" android:screenOrientation="portrait"/> 第2步: 我们要把摄像头预览景调

lby159951的博客 2776

zxing 竖屏完美解决

google zxing源码竖屏完美解决,竖屏时二维码图片不改变大小。

最新版电子发票样式html+css--普通发票+增值发票

【代码】最新版电子发票样式html+css--普通发票+增值发票。

weixin_44110923的博客 3680

Android一分钟配置zxing扫码

一键配置zxing扫码,一分钟搞定

Angus博客 2588

本地部署大模型 vs 网页版大模型区别

fill:#333;color:#333;color:#333;fill:none;本地服务器/工作站硬件资源私有化部署GPU集群高速存储模型文件训练框架推理引擎。

Ds-Rag的博 1712

解决Android使用Zxing扫描二维码改成竖屏后,后面的预览画面出现了拉伸,扭曲的情况

完美解决Android使用Zxing扫描二维码改成竖屏后,后面的预览画面出现了拉伸,扭曲的情况 第一步:找到com.zxing.camera包下的CameraConfigurationManager.java文件中的void initFromCameraParameters(Camera camera)方法 第二步:在 Log.d(TAG, Screen resol

风一样的男人 3329

USB PD快充功率监测仪:高精度嵌入式USB电压电流测量终端

USB供电已从数据接口演进为关键电源总线,尤其在PD快充场景下,工程师亟需对5V–20V宽压范围内的实时电压、电流及瞬时功率进行精准捕获。其底层原理依赖高共模抑制比的高边电流检测与分压采样+ADC数字化处理,结合LDO低噪声供电保障模拟链路精度。该类设备的技术价值在于以低成本实现协议无关的‘电气层可视化’,规避商用ASIC测试仪的黑盒局限,支撑PD充电验证、电源设计调试与教学实验等工程实践。本文介绍的开源USB表即基于N32G430 MCU与INA199电流检测芯片,覆盖USB-C输入/输出双通道监测,具备

weixin_42174098的博客 207

DirectX修复工具使用技巧之二——手动修复C++创建失败的文件

最后更新:2021-2-25 随着V4.0正式版的发布,近来有部分用户来咨询如何解决C++文件创建失败的问题。在此我将以解决最常见的C++2015-2019文件创建失败为例,向大家演示一下在线修复的方法,其他C++或文件的方法大同小异。此次操作以Windows 7为例,其他系统相应参考即可。 首先,如果希望程序能手动在线修复创建失败的失败,请首先确定您使用的V4.0.2版或更高版本,老版本不支持此功能。查看程序版本的方式可以把鼠标放在DirectX Repair.e...

VBcom的专栏 6万+

Android 实战:基于Zxing定制竖屏前置摄像头二维码扫描与生成方案

本文详细介绍了基于Zxing库定制Android竖屏二维码扫描与生成方案的实战经验。针对默认横屏体验不佳、前置摄像头支持弱等痛点,文章深入解析了Zxing核心流程,并分步指导如何修正预览方向、适配前置摄像头、自定义扫描框UI以及实现二维码生成功能,旨在帮助开发者打造体验更优的扫码模块。

tequila的博客 688

PSM倾向匹配详细步骤和程序

目录1.安装psmatch2统计包。2.数据准备3.数据分析及命令解读4.结果解读4.1模型拟合结果,此处无太多实际意义。4.2试验组可匹配的观测概览,按照命令中设定的匹配规则,试验组有8例患者未能匹配到合适对照。4.3结果解读的重点应该是对stata新生成的中间变量的解读。4.4均衡性检验结果4.5匹配结果的图示化5.Stata命令汇总最后留下两个问题给大家思考:题目 试验设计中,匹配的目的在于确保干预效应估计是建立在可比个体之间的不同结果的基础上。最简单的匹配方式是将干预组和对照组中协变量值相同的两个个

平平淡淡,戒急用忍,一生学闭嘴。 5万+

Android Zxing集成后竖屏不能扫条形码解决

本文章参考:将zxing扫码界面改为竖屏的问题 ** 1. 功能概述 ** 默认的ZXing Demo提供的是横屏扫描,不符合现在市场的流行趋势和用户的使用习惯,然而在修改界面为竖屏的过程中,我们发现zxing无法读取条形码数据(二维码可以正常读取)。修改布局的过程不再赘述。 2. 修改说明 在AndroidManifest.xml中,把Activity的属性的screenOrientatio...

孙先森的博客 2436

OpenCV图像去畸变实战指南:从原理到参数调优(附完整代码与效果对比)

本文深入解析了OpenCV图像去畸变的原理与实战技巧,详细对比了标准透视、鱼眼及全能型omnidir三种校正函数的核心参数调优方法。通过分析alpha、balance、centerX/Y及focalScale四大参数对输出效果的影响,并结合完整代码与效果对比图,帮助开发者精准校正镜头畸变,提升计算机视觉任务精度。

weixin_29046611的博客 341

2026滑块验证码终极实战:缺口检测算法+人机轨迹模拟,识别率从60%飙升至95%全方案

**摘要:2026年AIGC技术发展导致传统验证码失效,滑块验证码成为主流防护手段。本文深入分析了传统方案识别率低的原因,并提出多级检测融合和行为拟合优化方案。通过图像预处理优化、三级缺口检测引擎(差分图像法、Hu矩轮廓匹配、YOLOv8n模型兜底)将识别率提升至99.2%。同时针对轨迹模拟环节,设计了包含抖动特征、时间随机性和个体差异的行为模型,使通过率从12%提升至87%。该方案解决了传统方法在缺口定位精度和轨迹真实性方面的核心痛点,为应对新一代验证码风控提供了完整的技术框架。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1899

Zxing 竖屏切换 android

版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.youkuaiyun.com/aaawqqq/article/details/24804939 Zxing 竖屏切...

weixin_30535913的博客 96

华为MetaERP国资委语境下的 DRP(全域数字化资源管理平台/Digitalized Resource-management Platform)与传统 ERP(以 SAP、Oracle 为代表)的

【摘要】国资委推动的DRP(全域数字化资源管理平台)正在重构央国企数智化转型路径,其本质是通过"ERP管交易+DRP管管控"的双层架构实现升维替代。与传统ERP相比,DRP具有三大突破:采用国产分布式数据库实现全级次穿透监管、构建数据中台打破信息孤岛、以实时分析替代事后报表。当前政策明确2026-2030年分阶段建设目标,这将重塑产业格局——倒逼传统ERP厂商转型,为云原生/AI/信创企业创造新机遇。需注意DRP并非简单替代ERP,而是通过治理模式变革实现"交易系统做薄、管控中

金牌架构师 286

安卓 二维码扫描(ZXing)

何为二维码扫描? “二维码扫描”实际上就是通过手机相机扫描『二维码图片』,将『二维码图片』中的字符串数据通过解码的方式解析出来。 此文章借助开源库ZXing Android Embedded 实现。 下面是具体步骤: 1.添加gradle库依赖: 注意事项:buildToolsVersion的版本高于23,这个库是基于zxing的,所以不需要手动导入zxing库 2.布局文件 <?xml ...

秃头杨的博客 1509

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

二维码扫描--横屏识别转为竖屏识别

[size=medium][color=gray]最近在参加一次比赛,需要实现一个二维码扫描的功能,于是找到了google的开源框架Zxing,我们可以去http://code.google.com/p/zxing/下载源码和Jar包。下载下来运行时发现二维码在识别时是横屏的,用户体验很不爽,于是在网上求教大佬们支招。具体解决方法如下: 1、在AndroidManifest.xml中,修改Cap...

207' Blog 962

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Zxing二维码切换横屏扫描

默认是竖屏扫描,但是当我们在清单文件中配置横屏显示的时候: <activity android:name=".CaptureActivity" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> 这时候扫描,会发现扫描效果变形,方向不对。 可按以下步骤进行修改: 1、修

陈立的博客 782
上一篇: Hibernate工作原理、为什么要使用Hibernate,Hibernate的内部机制。
下一篇: Android Zxing调整扫描区域 优化取图速度(调节扫描框大小)
凡人不羡仙
博客等级 码龄15年 16粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值