package lab.prada.collage.util;
import java.io.IOException;
import lab.prada.collage.Constants;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.media.ExifInterface;
public class CameraImageHelper {
public static Bitmap checkAndRotatePhoto(String path) throws IOException {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = Constants.BITMAP_SAMPLE_SIZE;
ExifInterface exif = new ExifInterface(path);
int exifOrientation = exif
.getAttributeInt(ExifInterface.TAG_ORIENTATION,
ExifInterface.ORIENTATION_NORMAL);
int rotate = 0;
switch (exifOrientation) {
case ExifInterface.ORIENTATION_ROTATE_90:
rotate = 90;
break;
case ExifInterface.ORIENTATION_ROTATE_180:
rotate = 180;
break;
case ExifInterface.ORIENTATION_ROTATE_270:
rotate = 270;
break;
}
Bitmap bitmap = BitmapFactory.decodeFile(path, options);
if (rotate != 0) {
int w = bitmap.getWidth();
int h = bitmap.getHeight();
// Setting pre rotate
Matrix mtx = new Matrix();
mtx.preRotate(rotate);
bitmap = Bitmap.createBitmap(bitmap, 0, 0, w, h, mtx, false);
bitmap = bitmap.copy(Bitmap.Config.RGB_565, true);
}
return bitmap;
}
}