位置: 编程技术 - 正文

调用系统相机导致照片旋转问题的修复(相机调取失败)

编辑:rootadmin

推荐整理分享调用系统相机导致照片旋转问题的修复(相机调取失败),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:调用系统相机导航怎么用,如何调用相机,win10调用相机,如何调用相机,如何调用相机,调用系统相机导航怎么用,调用系统相机导航怎么用,调用系统相机导航怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

如题,相信很多开发者在调用系统照相机接收拍好的照片时,发现照片被无故旋转了度。这一问题反映在大部分的三星手机上,当然其他的机器还没试完全,总之是有问题。 于是乎想到如下的解决办法:

识别机型,获取手机型号,然后判断是否需要旋转; 通过获取照片宽度和高度判断是否需要旋转; 自己动手写一个照相机Activity,自己来获取摄像头数据,保存照片; 分析发生旋转的照片数据,动态判断是否需要旋转,以及旋转正确的角度。 调用系统相机导致照片旋转问题的修复(相机调取失败)

前三种方法均不是理想的解决方案。 首先说1:这种类似于穷举的办法,总会有那些被遗忘的“角落”,维护这些机型会很繁琐; 然后说2:如果这样的话,如果刚好用户要横屏照照片,还是会发生旋转; 最后说3:这种方法岂是我等“懒”程序员所能做到的?(PS:其实是需求所限啦,自己写照相APP,耗时+费精力+容易出bug。好处就在于用户会感觉自己始终处于同一APP中,而不是发生了跳转。) 那么第四种方案是如何做到的呢? 首先通过分析,通常一张照片包含许多EXIF信息。这些信息包含了拍照的设备,曝光度,是否使用了闪光灯种种内容。这其中包括了角度,也就是旋转问题的症结所在。 手机自身的照片查看器(某些机型)在显示照片的时候,会分析这些信息,当分析的角度的信息时,会自动旋转照片到合适的角度。比较常见的角度是、、。大部分的三星手机在竖屏拍照的时候会拍出角度为度的照片,横屏为0度。因此,解决的思路就是按照EXIF中的角度信息进行旋转即可。主要用到安卓API中的Matrix。关键代码可参考下面的代码片:

上述代码中,bitmap是Bitmap对象,我这里需要在后面显示,所以暂时没有recycle(),提醒大家一下,免得内存溢出。 到此,无论是三星还是什么机型,利用这种通用的方法,即可解决照片旋转的问题了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 长按电源键和短按电源键的详细处理流程 1AndroidAndroid4.x在Framework的PhoneWindowManager对Power(KeyEvent.KEYCODE_POWER)和Home(KeyEvent.KEYCODE_HOME)键做了处理,不会把这些键传送上层应用程序。如需要把这

android 动画资源 android动画资源Anroid动画资源分为两种,属性动画(PropertyAnimation)和视图动画(ViewAnimation).视图动画又分为两种:过渡动画:一张图片进行一系列的

Android:Layout_weight的理解 最近老是纠结布局参数很难记,索性遇到一个就弄懂一个吧Layout_weight这个参数乎不太好理解,尤其当layout_width=wrap_content和layout_width=fill_parent时的区别,

标签: 相机调取失败

本文链接地址:https://www.jiuchutong.com/biancheng/380944.html 转载请保留说明!

上一篇:Nodejs 复制文件/文件夹的方法(nodemodules拷贝到其他目录)

下一篇:Android 长按电源键和短按电源键的详细处理流程(安卓如何取消长按电源键关机)

  • 本期收入和本期减除费用
  • 新办企业申请一般纳税人的资料
  • 国家税收与地方税收
  • 必要收益率的取值可以是
  • 销项税额和进项税额月底怎么结转
  • 收到预付款项发票如何入账?
  • 转出未交增值税借方余额怎么处理
  • 发票选择确认平台怎么选
  • 出口退税的城建税和教育费附加怎么算
  • 待认证进项税额转出会计分录
  • 报税显示未进行抄报税
  • 2021年沙子水泥税率是多少
  • 0申报逾期罚款
  • 企业取得被投资单位的长期股权可以享有
  • 哪些费用可以抵扣进项税吗
  • 门窗属于建材吗还是材料
  • 季报小微企业不包括哪些
  • 苹果怎么充电更好
  • 一家公司各项费用支出
  • 关于企业之间资金拆借的法律规定
  • 计提增值税的会计科目
  • 圣海伦斯山国家火山纪念区
  • 电子商票到期后多少天有效?
  • 代理进口合同如何签署
  • pctversion
  • 工程物资发生报废损毁
  • php清除缓存的几个方法
  • php中session和cookie
  • 前端打印语句
  • 汇总开具发票
  • uni-app介绍
  • 搭建小技巧
  • 公司股票买卖账务处理
  • 织梦cms要钱吗
  • 公司购买绿植入什么科目
  • 10万销售额是含税还是不含税
  • 债权人豁免债务的账务处理会计分录
  • 个人所得税专项附加扣除赡养老人
  • 补缴以前年度附加税怎么申报
  • 工资不纳税项目
  • 费用性税金包括增值税吗
  • DB2 9(Viper)快速入门
  • 计提所得税后再结转本年利润吗
  • 弃置费用怎么处理
  • 个人独资企业与有限公司的区别
  • 增值税期末留抵退税原因采集确认单
  • 补缴以前年度所得税怎么做会计分录
  • 劳务公司在外地
  • 预提费用多提了怎么办
  • 不需要计提折旧的情况
  • 收到预付卡结算款怎么入账
  • 个人如何购买定增的股票
  • 什么是企业管理的基础工作
  • 个税和社保基数不一致怎么办
  • 未开票收入怎么填写增值税申报表
  • 进项税额转出怎么操作
  • 工业企业材料入库账务处理
  • mysql replace正则表达式
  • sql常用语句大全简书
  • mysql死锁的例子
  • win7激活失败提示错误代码0x80072F8F
  • win8.1怎么重新装系统
  • windows Server 2003设置磁盘配额操作图解
  • ubuntu火狐浏览器怎么改成中文
  • win8系统怎么更改无线网络IP
  • ubuntu安装visual studio2019
  • 本地hosts文件存在问题
  • centos删除vg
  • 举例说明linux的主要应用领域
  • cocos2djs教程
  • [置顶] [寒江孤叶丶的Cocos2d-x之旅_27]CocoStudio导出的LUA文件怎么使用?
  • Node.js中的construct
  • 基于flask的开源项目
  • unity3d控制物体移动
  • vue js 页面代码分离
  • vue 分页 实现
  • jquery 属性
  • web miui
  • unity struct
  • 河南查询税务登记怎么查
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设