Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android圖片與旋轉

Android圖片與旋轉

編輯:關於Android編程

拍照後的照片有時被系統旋轉,糾正步驟如下:

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;
	}


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved