Иногда, когда я загружаю изображение из галереи или камеры, изображение поворачивается не под углом 90 градусов, а всего лишь примерно на 5 градусов, и я не могу объяснить это, поскольку это происходит не постоянно, а случайно, и это не имеет никакого отношения к реальному изображению, иногда оно поворачивает определенное изображение, а иногда оно не поворачивает одно и то же изображение. Я уже пытался установить поворот на фактическое вращение изображения после выбора, но почему-то это все равно, и я не могу найти людей с такой же проблемой, поэтому спасибо всем за помощь в этом.
Вот мой код для выбора изображения:
Intent galleryIntent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(galleryIntent, GALLERY);
}
private void takePhotoFromCamera() {
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAMERA);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == this.RESULT_CANCELED) {
return;
}
if (requestCode == GALLERY) {
if (data != null) {
Uri contentURI = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), contentURI);
select.setVisibility(View.INVISIBLE);
rotate.setVisibility(View.VISIBLE);
reselect.setVisibility(View.VISIBLE);
next.setVisibility(View.VISIBLE);
Toast.makeText(SelectImageActivity.this, R.string.image_saved, Toast.LENGTH_SHORT).show();
imageView.setImageBitmap(bitmap);
contentURIOut = contentURI;
publicBitMap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), contentURI);
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(SelectImageActivity.this, R.string.image_failed_to_save, Toast.LENGTH_SHORT).show();
}
}
} else if (requestCode == CAMERA) {
publicRequestCode = requestCode;
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(thumbnail);
publicBitMap = thumbnail;
setUpTempFile();
contentURIOut = Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/APPNAME/PHOTO-" + publicTempFileCreationTime + ".png"));
select.setVisibility(View.INVISIBLE);
rotate.setVisibility(View.VISIBLE);
reselect.setVisibility(View.VISIBLE);
next.setVisibility(View.VISIBLE);
Toast.makeText(SelectImageActivity.this, R.string.image_saved, Toast.LENGTH_SHORT).show();
}
if (requestCode == AppSettingsDialog.DEFAULT_SETTINGS_REQ_CODE) {
}
} ```