Android图片与旋转

来源:互联网 发布:linux脚本压缩文件 编辑:程序博客网 时间:2024/05/17 09:29

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

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

/** * 通过ExifInterface类读取图片文件的被旋转角度 * @param path : 图片文件的路径 * @return 图片文件的被旋转角度 */public static int readPicDegree(String path) {int degree = 0;// 读取图片文件信息的类ExifInterfaceExifInterface exif = null;try {exif = new ExifInterface(path);} catch (IOException e) {// TODO Auto-generated catch blocke.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.再将上述角度作为参数,传递给下面函数纠正:

/** * 将图片纠正到正确方向 *  * @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;}


4 0