Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static Bitmap modifyOrientation(Bitmap bitmap, String image_absolute_path) throws IOException {
- ExifInterface ei = new ExifInterface(image_absolute_path);
- int orientation = ei.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
- switch (orientation) {
- case ExifInterface.ORIENTATION_ROTATE_90:
- return rotate(bitmap, 90);
- case ExifInterface.ORIENTATION_ROTATE_180:
- return rotate(bitmap, 180);
- case ExifInterface.ORIENTATION_ROTATE_270:
- return rotate(bitmap, 270);
- case ExifInterface.ORIENTATION_FLIP_HORIZONTAL:
- return flip(bitmap, true, false);
- case ExifInterface.ORIENTATION_FLIP_VERTICAL:
- return flip(bitmap, false, true);
- default:
- return bitmap;
- }
- }
- public static Bitmap rotate(Bitmap bitmap, float degrees) {
- Matrix matrix = new Matrix();
- matrix.postRotate(degrees);
- return Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
- }
- public static Bitmap flip(Bitmap bitmap, boolean horizontal, boolean vertical) {
- Matrix matrix = new Matrix();
- matrix.preScale(horizontal ? -1 : 1, vertical ? -1 : 1);
- return Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement