使用某星手机有为应用的图库添加图片时,发现照片已被旋转,APP没有做任何处理,因此肯定是手机在拍照保存的时候做的手脚。
1、调用方法int degree = ImageUtil.getBitmapDegree(imageInfo.getImgSourcePath());
if(0 != degree)
ImageUtil.rotateBitmapByDegree(arg2, degree);
2.具体代码 /**
* 读取图片的旋转的角度
*
* @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();
bm = null;
}
return returnBm;
}
分享到:
相关推荐
调用Android系统拍照功能后,三星手机拍摄后的照片被旋转了90度,横着拍给你变成竖的,竖的拍给你变成横的。其它品牌的手机都是正常的,就三星出现这个怪事。 在Android适配上,我原来一直以为国内的小米手机够奇葩...
� GPS 卫星导航功能,手机照相, MP3 ,蓝芽等均被列为 Android 所提供支持的基本选项。 � Android 的平台基本上是免费的,虽然有部份原生链接库会要求费用,但大部份是免权利金; Android 的 程序可以采用 JAVA ...
系统主要由两大部分构成:检测控制硬件模块和智能手机应用程序(APP)软件模块。 硬件模块主要由以下几个部分组成: 1. **单片机**:作为系统的控制中心,STC89C52 单片机负责读取传感器数据,控制电机和水泵,实现...
随着智能手机的普及和技术的发展,Android平台已经成为最受欢迎的移动操作系统之一。本文档探讨的是一个基于Android平台的电子相册的设计与实现。 ##### 1.1 目前现状 当前,智能手机几乎人手一部,成为人们生活中...
这个项目是一个基于Android平台的简单OCR(Optical Character Recognition,光学字符识别)应用程序,它整合了Android系统的内置相机功能,让用户能够通过手机摄像头捕获图像并识别其中的文本。OCR技术的主要目标是...
这个问题并不是普遍存在于所有设备上,主要出现在iOS和某些特定的三星手机中,而大部分Android设备并不受此问题影响。解决这个“图片预览旋转90度”的bug需要理解其根本原因并采用特定的技术手段。 首先,我们需要...
全景大师软件是一款专业的全景影像制作和展示平台,它能够将一系列普通的全景照片制作成完整的全景展示系统,并生成的展示项目可以在多种设备上独立运行,例如iPhone、iPad、Android手机和平板电脑、苹果电脑和各种...
"自定义相册"项目就是针对这一需求,提供了一个全面且灵活的解决方案,允许用户自由展示、选择、裁剪手机中的图片,并且在拍照时能自动创建图片目录。下面,我们将深入探讨这个项目的关键知识点。 首先,**图片展示...
2. 图片应用:移动设备通常预装有图片查看器应用,如Android的“图库”或iOS的“照片”。用户可以通过这些应用浏览和查看存储的图片。 3. 打开图片:打开图片应用后,系统会自动扫描并列出所有可用的图片。用户可以...