您的位置:首页 > 移动开发 > Android开发

Android图片与旋转

2015-06-19 13:14 681 查看
转自:http://blog.csdn.net/berber78/article/details/39778181

拍照后的照片有时被系统旋转,纠正步骤如下:

1.先读取图片文件被旋转的角度:

[java] view
plaincopy

/**

* 通过ExifInterface类读取图片文件的被旋转角度

* @param path : 图片文件的路径

* @return 图片文件的被旋转角度

*/

public static int readPicDegree(String path) {

int degree = 0;

// 读取图片文件信息的类ExifInterface

ExifInterface exif = null;

try {

exif = new ExifInterface(path);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if (exif != null) {

int orientation = exif.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;

}

}

return degree;

}

2.再将上述角度作为参数,传递给下面函数纠正:

[java] view
plaincopy

/**

* 将图片纠正到正确方向

*

* @param degree : 图片被系统旋转的角度

* @param bitmap : 需纠正方向的图片

* @return 纠向后的图片

*/

public static Bitmap rotateBitmap(int degree, Bitmap bitmap) {

Matrix matrix = new Matrix();

matrix.postRotate(degree);

Bitmap bm = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),

bitmap.getHeight(), matrix, true);

return bm;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: