Android解决部分手机拍照照片自动旋转的问题
自定义相机开发的时候,会遇到这样的问题,部分手机拍照后显示在控件上是会发生自动旋转的问题。比如小米手机,三星, 把横的拍成竖的,竖的拍成横的,但是其他品牌手机正常。
解决方案:根据图片的绝对路径,获取旋转角度信息,再进行旋转回来。
/*** 读取图片的旋转的角度** @param path* 图片绝对路径* @return 图片的旋转角度*/public static int getBitmapDegree(String path) {int degree = 0;//被旋转的角度try {// 从指定路径下读取图片,并获取其EXIF信息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 bm* 需要旋转的图片* @param degree* 旋转角度* @return 旋转后的图片*/public static Bitmap rotateBitmapByDegree(Bitmap bm, int degree) {Bitmap returnBm = null;// 根据旋转角度,生成旋转矩阵Matrix matrix = new Matrix();matrix.postRotate(degree);try {// 将原始图片按照旋转矩阵进行旋转,并得到新的图片returnBm = Bitmap.createBitmap(bm, 0, 0, bm.getWidth(), bm.getHeight(), matrix, true);} catch (OutOfMemoryError e) {}if (returnBm == null) {returnBm = bm;}if (bm != returnBm) {bm.recycle();}return returnBm;}
Android解决部分手机拍照照片自动旋转的问题相关推荐
- 解决ios横屏拍照图片自动旋转90度问题
解决ios横屏拍照图片自动旋转90度问题 参考文章: (1)解决ios横屏拍照图片自动旋转90度问题 (2)https://www.cnblogs.com/lanshengzhong/p/900856 ...
- Android进阶之路 - 解决部分手机拍照之后图片被旋转的问题
这几天犯了一个错误,初期想着甩锅给后台的- 但还好及时发现了是自身的问题~ 关联文章 Android基础进阶 - 调用拍照.获取图片(基础) Android基础进阶 - 获取.调用相册内图片(基础) ...
- Android开发 调用系统相机相册图片功能,解决小米手机拍照或者图片横竖相反问题,及小米手机相册图片路径问题
Android开发 调用系统相机相册图片功能,解决小米手机拍照或者图片横竖相反问题,及小米手机相册图片路径问题 1.调用相机,兼容7.0 AndroidManifest配置 <providera ...
- android 解决小米手机上选择照片路径为null的问题
之前做了一个获取相册选择图片的功能,后来测试人员在小米的手机 测试时出现崩溃现象.自己就在网上查找资料,发现是小米的获取图片路径的代码与其他的手机不一样,于是修改了代码,解决了这个问题,这里记录一下. ...
- android小米手机上传图片,android 解决小米手机上选择照片路径为null的问题
释放双眼,带上耳机,听听看~! 之前做了一个获取相册选择图片的功能,后来测试人员在小米的手机 测试时出现崩溃现象.自己就在网上查找资料,发现是小米的获取图片路径的代码与其他的手机不一样,于是修改了代码 ...
- android 解决小米手机上选择照片路径为null情况
昨天测试帅哥说他手机选择图库崩溃了,这是一个上传头像的功能,相信很多应用都有这个功能,于是我就把手机拿过来打log看了下返回的路径 为null,在网上搜索了下解决方案,现在把解决方案记录下: 这是在o ...
- Android开发之手机拍照功能的实现(源代码分享)
Android系统里调用手机拍照的功能有两种方法一种直接调用手机自带的相机另一种就是使用自己做的拍照应用.比如Camera360 一款于各操作系统都有的的功能强大的手机摄影软件:能拍摄出不同风格,不同 ...
- android控制手机拍照代码,Android开发之手机拍照功能的实现(源代码分享)
Android系统里调用手机拍照的功能有两种方法一种直接调用手机自带的相机另一种就是使用自己做的拍照应用.比如Camera360 一款于各操作系统都有的的功能强大的手机摄影软件:能拍摄出不同风格,不同 ...
- Android 解决双卡双待手机解析短信异常
开发中,难免会遇到各种各样的适配问题,尤其是经过深度修改定制过的系统,有的无论是软硬件上都有很大的区别,这里不得不提到一种奇葩的机型,没错,那就是双卡双待的手机(比如XT800, A60, S8600 ...
最新文章
- 219个opencv常用函数汇总
- UVA1025 城市里的间谍 A Spy in the Metro(2003 ICPC world final)(DAG上DP)
- 详解Jedis连接池报错处理
- No such file or directory: Failed to enable the 'httpready' Accept Filter
- 剖析 Linux hypervisor
- html标签自动对齐,sublime,jsx里的html标签自动缩进对齐的插件或者配置?
- 借助财务客户评估解决方案在云中构建AppDev
- matlab 中序列求极值的方法,Matlab中求序列的极值
- vr设备应用程序_在15分钟内构建一个VR Web应用程序
- 服务器端添加网站,服务器添加网站
- win10安装pytorch很慢,如何解决?
- Hadoop Snappy安装终极教程
- InfoQ编辑2018年推荐阅读清单(第二部分)
- 从顶会论文看对比学习的应用!
- oracle索引有哪些分类,Oracle中的索引分类
- python与java前景分析-Java和Python哪个未来前景好?
- Coroutine协成
- 前端入门参考:写给前端入门者的chat
- invalid byte sequence for encoding utf8 0xcb 0xef
- BZOJ 小约翰的游戏John 反尼姆博弈
热门文章
- Python数据分析案例12——网飞影视剧数据分析及其可视化
- 一个很简单的基于栈式过程虚拟机的实现,它运行目标平台【x86】的原生代码。
- Matlab exercise05
- 调起安卓手机自带应用商店
- 收房入住注意事项及程序
- 走进Java接口测试之简单快速的Mock Server Moco
- 如何制作Windows10屏保?简单呀--Windows batch
- linux:解压命令
- 手机斗鱼tv显示与服务器通讯失败,热门手机知识:斗鱼直播加载失败如何解决?解决斗鱼直播加载失败操作步骤...
- 火车运输[NOIP 2013 提高组 Day 1]