Я беру изображение с камеры, но проблема в том, что она идет в режиме Landscape, даже когда я снимаю изображение в портретном режиме.При попытке повернуть изображение: Невозможно разрешить метод mtx.postRotate (int)
Чтобы решить эту проблему, я попытался повернуть изображение, но я получаю эту ошибку (см. Ниже).
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
int screenWidth = getResources().getDisplayMetrics().widthPixels;
int screenHeight = getResources().getDisplayMetrics().heightPixels;
File imgFile = new File(pictureImagePath);
if(imgFile.exists()){
Bitmap bm = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
//Rotate image
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// Notice that width and height are reversed
Bitmap scaled = ScalingUtilities.createScaledBitmap(bm, screenHeight, screenWidth, ScalingUtilities.ScalingLogic.FIT);
int w = scaled.getWidth();
int h = scaled.getHeight();
// Setting post rotate to 90
Matrix mtx = new Matrix();
mtx.postRotate(90); //Cannot resolve method 'postRotate(int)'
// Rotating Bitmap
bm = Bitmap.createBitmap(scaled, 0, 0, w, h, mtx, true);
}else{// LANDSCAPE MODE
//No need to reverse width and height
Bitmap scaled = ScalingUtilities.createScaledBitmap(bm, screenHeight, screenWidth, ScalingUtilities.ScalingLogic.FIT);
bm=scaled;
}
ImageView myImage = (ImageView) findViewById(R.id.imageView);
myImage.setImageBitmap(bm);
}
}
Проблема: mtx.postRotate(90);
показывает: не удается разрешить метод 'postRotate (INT)'
Любая помощь?
Не стесняйтесь предлагать изменения. Любая помощь приветствуется.
см. Типы параметров Bitmap.createBitmap – pskink
@pskink Это тоже ошибка, но неспособность понять это. Можете ли вы уточнить? –
проверить битмап.createBitmap' 6-й параметр ('Matrix m') и сравнить его с вашим' mtx' – pskink