Ориентация изображения для мобильных устройств - PullRequest
0 голосов
/ 28 января 2019

Я использую функцию загрузки изображений для использования камеры мобильного телефона.Он работает нормально, но фотографии всегда вращаются неправильно.

Я читал об использовании функции php exif_read_data.Я нашел коды, как использовать его и как изменить ориентацию и как сохранить его снова.Теперь моя проблема (при использовании Android) в том, что массив exif_read_data не содержит никакой «ориентации», поэтому я не могу изменить ориентацию.Я не могу найти какие-либо подсказки или сообщения об этой проблеме.Почему моя ориентация не сохраняется в этом массиве?

Спасибо за любую помощь

1 Ответ

0 голосов
/ 28 января 2019

Я столкнулся с подобной проблемой несколько недель назад, единственное решение, которое я нашел, - это соответственно повернуть изображение перед его настройкой в ​​представлении.Не нужно трогать вещи, связанные с ориентацией.После того, как я использовал эту функцию, я загрузил свое изображение в Firebase, и все было круто.

public static Bitmap rotateBitmap(Bitmap sourceBitmap, float angle) {
    Matrix matrix = new Matrix();
    matrix.postRotate(angle);
    return Bitmap.createBitmap(sourceBitmap, 0, 0, sourceBitmap.getWidth(), sourceBitmap.getHeight(), matrix, true);
}

Используйте эту функцию, чтобы установить его в ImageView в этом случае:

if (requestCode == Constants.REQUEST_CODE_CAMERA_PHOTO) {
            imgURL = data.getData();
            try {
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), imgURL);
                bitmap = rotateBitmap(bitmap, -90);
                ivProfile.setImageBitmap(bitmap);
}

Я надеюсь,это помогает.

...