For pictures taken by calling the system in android, the returned image is rotated 90 degrees,
Reposted blog: http://blog.csdn.net/walker02/article/details/8211628
A problem encountered during project development: When Samsung's mobile phone was selected for mobile phone photos, the pictures were not displayed normally. After research, it was found that the pictures taken by the mobile phone were rotated 90 degrees, some images rotate 180 degrees, and some mobile phones are normal. A Method Found in the Forum can obtain the image attributes and read the image rotation angle.
/*** Read image attributes: Rotation Angle * @ param path: Absolute image path * @ return degree rotation angle */public static int readPictureDegree (String path) {int degree = 0; try {ExifInterface exifInterface = new ExifInterface (path); int orientation = exifInterface. 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 ;}} catch (IOException e) {e. printStackTrace ();} return degree;}/** rotate image * @ param angle * @ param bitmap * @ return Bitmap */public static Bitmap rotaingImageView (int angle, Bitmap bitmap) {// rotating image action Matrix matrix = new Matrix (); matrix. postRotate (angle); System. out. println ("angle2 =" + angle); // create a new image Bitmap resizedBitmap = Bitmap. createBitmap (bitmap, 0, 0, bitmap. getWidth (), bitmap. getHeight (), matrix, true); return resizedBitmap ;}