標籤:
拍照後的照片有時被系統旋轉,糾正步驟如下:
1.先讀取圖片檔案被旋轉的角度:
/** * 通過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.再將上述角度作為參數,傳遞給下面函數糾正:
/** * 將圖片糾正到正確方向 * * @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; }
Android 圖片旋轉