android:解决小米手机相机返回照片旋转问题
背景
公司有一功能需要调用相机或者相册,拍摄或者选择照片先做展示然后上传到服务器。但是提交测试的时候,测试小姐姐给我提了一个bug,描述为拍照返回的照片向左旋转90度展示。由于道长的测试机为华为的,当时并没有发现问题,后来测试小姐姐反馈仅小米手机相机会出现照片旋转问题。-_-! 额……好吧。
解决方法
解决方法很简单,获取每次相机返回的照片,如果旋转的话就再次旋转回来,代码如下:
- 读取照片的角度
/*** 读取照片旋转角度** @param path 照片路径* @return 角度*/public static int readPictureDegree(String path) {int degree = 0;try {ExifInterface exifInterface = new ExifInterface(path);int orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);switch (orientation) {case ExifInterface.ORIENTATION_ROTATE_90:degree = 90;break;case ExifInterface.ORIENTATION_ROTATE_180:degree = 180;break;case ExifInterface.ORIENTATION_ROTATE_270:degree = 270;break;}} catch (IOException e) {e.printStackTrace();}return degree;}
- 旋转图片
/*** 旋转图片* @param angle 被旋转角度* @param bitmap 图片对象* @return 旋转后的图片*/public static Bitmap rotaingImageView(int angle, Bitmap bitmap) {Bitmap returnBm = null;// 根据旋转角度,生成旋转矩阵Matrix matrix = new Matrix();matrix.postRotate(angle);try {// 将原始图片按照旋转矩阵进行旋转,并得到新的图片returnBm = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);} catch (OutOfMemoryError e) {}if (returnBm == null) {returnBm = bitmap;}if (bitmap != returnBm) {bitmap.recycle();}return returnBm;}
大概就这样,希望可以解决小伙伴的问题。
android:解决小米手机相机返回照片旋转问题相关推荐
- Android解决小米手机相机和相册的问题(适配小米手机相机和相册)
这两天做一个功能,需要拍照和相册选择图片并上传,功能本来不难,但是MIUI就不行了,拍照和相册取图用一般的方法都有问题,网上查了好多都是转载的,且解决办法有问题,当然也可能是我使用有问题,总之最后还是 ...
- android 解决小米手机上选择照片路径为null的问题
之前做了一个获取相册选择图片的功能,后来测试人员在小米的手机 测试时出现崩溃现象.自己就在网上查找资料,发现是小米的获取图片路径的代码与其他的手机不一样,于是修改了代码,解决了这个问题,这里记录一下. ...
- android小米手机上传图片,android 解决小米手机上选择照片路径为null的问题
释放双眼,带上耳机,听听看~! 之前做了一个获取相册选择图片的功能,后来测试人员在小米的手机 测试时出现崩溃现象.自己就在网上查找资料,发现是小米的获取图片路径的代码与其他的手机不一样,于是修改了代码 ...
- android 解决小米手机上选择照片路径为null情况
昨天测试帅哥说他手机选择图库崩溃了,这是一个上传头像的功能,相信很多应用都有这个功能,于是我就把手机拿过来打log看了下返回的路径 为null,在网上搜索了下解决方案,现在把解决方案记录下: 这是在o ...
- 移动端上传照片 预览+Draw on Canvas's Demo(解决 iOS 等设备照片旋转 90 度的 bug)...
背景: 本人的一个移动端H5项目,需求如下: 需求一:手机相册选取或拍摄照片后在页面上预览 需求二:然后绘制在canvas画布上 这里,我们先看一个demo(http://jsfiddle.net/q ...
- 利用exif.js解决ios或Android手机上传竖拍照片旋转90度问题
html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非 ...
- miui10.2.2 或以上的小米手机上照片旋转问题及解决
问题描述 在miui10.2.2 或以上的小米手机上出现的问题:调用手机相册选取使用手机拍摄的照片时,对照片进行压缩处理后图片会出现旋转. 解决方法: 然后获取到旋转的角度,然后将图片旋转回来. 获取 ...
- Android解决部分手机拍照照片自动旋转的问题
自定义相机开发的时候,会遇到这样的问题,部分手机拍照后显示在控件上是会发生自动旋转的问题.比如小米手机,三星, 把横的拍成竖的,竖的拍成横的,但是其他品牌手机正常. 解决方案:根据图片的绝对路径,获取 ...
- [Android]解决小米手机神坑问题:Installation failed with message Failed to establish session
问题描述:小米手机可以从应用商城下载安装APK,但是用Android Studio编译安装就不行!出现这个错误: Installation failed with message Failed to ...
最新文章
- 使用TESSERACT来识别字符
- Excel 2013:如何实现数据分列
- mongoTemplate使用总结
- 如何修改oracle字段类型
- P3327 [SDOI2015]约数个数和 (mobius反演)
- Java夺命21连问!(附答案)
- asp建站系统源码_三款适用于企业建站的CMS建站系统
- angular 首屏加载优化_[转]Angular4首页加载慢优化之路
- APP发布Xcode7
- 查询本地内存的栈大小_Js的内存问题
- 20172319 《程序设计与数据结构》实验一报告
- LeetCode(728)——自除数(JavaScript)
- 群签名和环签名的区别_苹果企业签名和苹果超级签名的区别
- 制定2015年的移动开发策略
- 高级IO(一)--UNIX环境高级编程读书笔记
- LeetCode - Two Sum
- 七种实用地方微信推广方法,三个月7000粉丝的秘诀
- msmms (二) sms与mms 简述!
- lintcode1485. 圣杯咒语
- 机器学习笔试题精选(六)
热门文章
- 新手刚开始运营shopee,要做什么有利于店铺发展?
- python 安卓app 缺点_用python对android APP进行分析2
- 学习:深度学习公开课
- okhttp 服务器性能,OkHttp逐步深入
- 110kV长距离输电系统增容补偿MATLAB仿真
- c语言中sam的用法,samtoos用法详解.pdf
- Shiro中Session过期页面跳转回登录页面处理问题
- python微信语音转发给别人_python 使用 itchat 保存群聊语音并拼接成音频课程
- 更改android模拟器dns,安卓模拟器网络异常修改DNS教程
- mysql 完整性概念_数据库完整性是什么概念?