Используйте этот methoh Это поможет вам.
/*
* 1 = Horizontal (normal)
* 2 = Mirror horizontal
* 3 = Rotate 180
* 4 = Mirror vertical
* 5 = Mirror horizontal and rotate 270 CW
* 6 = Rotate 90 CW
* 7 = Mirror horizontal and rotate 90 CW
* 8 = Rotate 270 CW
*/
public static Bitmap getRotateBitmapImage(Bitmap bm, int newHeight,int newWidth, int exifOrientation) {
int width = bm.getWidth();
int height = bm.getHeight();
float scaleWidth = ((float) newWidth)/width;
float scaleHeight = ((float) newHeight)/height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
switch (exifOrientation) {
case ExifInterface.ORIENTATION_ROTATE_270:
rotate = 270;
break;
case ExifInterface.ORIENTATION_ROTATE_180:
rotate = 180;
break;
case ExifInterface.ORIENTATION_ROTATE_90:
rotate = 90;
break;
case ExifInterface.ORIENTATION_TRANSPOSE:
rotate = 45;
break;
case 0:
rotate = 360;
break;
default:
break;
}
matrix.postRotate(rotate);
// resizedBitmap = Bitmap.createScaledBitmap(bm, 65, 65, true);
Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false);
return resizedBitmap;
}
Я использую Intenet xyz = new Intent (Mediastore.ACTION_IMAGE_CAPTURE) для захвата изображения. В каком формате это хранится и как я могу передать объект изображения, захваченного здесь, в функцию, описанную здесь? Как насчет новой высоты, новой ширины? – psbits
вы можете просто игнорировать элемент newHeight и newWitdh, если вы не масштабируете растровое изображение. просто используйте bitmap.getWidth() и bitmap.getHeight(). –
Вы можете удалить новую высоту/ширину во время Bitmap.createBitmap – samsad