三星手机拍照后显示图片角度旋转问题的解决方法
2023-09-14 09:06:18 时间
项目开发中,须要用一个ImageView显示拍照的图片。
在使用三星手机进行測试的时候发现图片角度发生了旋转,经资料查询,这是由于三星手机拍照的图片旋转角度是90度,而其它手机是0度。这样思路就出来了:先查询被旋转了多少度,然后再旋转回来。ok。以下上代码。
首先是读取图片被旋转的角度。
/** * 读取照片exif信息中的旋转角度 * @param path 照片路径 * @return 角度 */ public 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; }
再接着是将图片旋转回0度。
public Bitmap toturn(Bitmap img, String path) { Matrix matrix = new Matrix(); matrix.postRotate(readPictureDegree(path)); int width = img.getWidth(); int height = img.getHeight(); img = Bitmap.createBitmap(img, 0, 0, width, height, matrix, true); return img; }
相关文章
- ABP源码分析十五:ABP中的实用扩展方法
- 手机录音如何转换成文字?用便签将录音转文字的简单方法
- 日历怎么设置倒计时天数?安卓手机便签显示倒数日方法
- java实现遍历树形菜单方法——实体类VoteTree
- (推荐)手机频率与信号测试软件Cellular-Z使用方法
- 【COCOS2D-X 备注篇】COCOS2DX 获取手机截屏等意外取消触屏事件的处理方法!
- SAP ABAP 系统进行数据库表查询的几种常用方法
- 一种获取SAP HANA数据库表条目数的另类方法
- BigData之Hive beeline:beeline的简介、使用方法之详细攻略
- NodeJs——(14)express框架的send()方法简介
- ML之FE:特征工程/数据预处理之构造特征之特征分箱/数据分桶的常用六大类方法—基于统计(等距/等频+分位数+标准差/f方差)、基于数据分布(自然断点+重尾分布)、基于评价指标的自适应(卡方/Bes
- Crawler之Scrapy:Scrapy的简介、安装、使用方法之详细攻略
- redisTemplate.opsForValue()中方法讲解
- -bash: rz: command not found的解决方法
- Android反射MediaPlayer的getAudioStreamType()私有方法(一百零七)
- C++ 排序函数 sort(),qsort()的使用方法
- 手机数据抓包的N种方法
- 编译安装时出现报错 No package ** found的一种解决方法附带PHP-7.4.6的实战源码编译安装
- keras-yolo3:python库之keras-yolo3的简介、安装、使用方法详细攻略
- 【.Net实用方法总结】 整理并总结.NET 中的 System.IO.Pipelines(管道)
- 【.Net实用方法总结】 整理并总结System.IO中StringReader类及其方法介绍