標籤:android io os ar java 檔案 c on r
步驟如下:
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;}
Android圖片與旋轉