Мое приложение вовлекает пользователей, выбирающих фотографию из галереи, которая затем возвращает URI
.Чтобы загрузить это изображение в свое Firebase Google Storage, я выполняю следующие операции над растровым изображением:
val inputStream = contentResolver.openInputStream(uri)
val bitmap = BitmapFactory.decodeStream(inputStream)
val baos = ByteArrayOutputStream()
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, baos)
val imgData = baos.toByteArray()
var uploadTask = filePath.putBytes(imgData)
. Это успешно сжимает и загружает мое изображение.Тем не менее, многие изображения являются альбомными, а не портретными - поэтому я должен учесть это и соответственно повернуть растровое изображение перед загрузкой.
Я обнаружил ExifInterface ( пример его здесь ), однако для него требуется уровень API 24 и мой минимальный уровень API 21 .
Как я могу получить ориентацию моего изображения, а затем повернуть его в портретную - с помощью метода, который будет работать на уровне API 21?