У меня есть следующий код, который создает растровое изображение из заданного пути к файлу изображения:
private fun loadBitmap(filePath: String?): Bitmap {
val options = BitmapFactory.Options()
options.inPreferredConfig = Bitmap.Config.ARGB_8888
return BitmapFactory.decodeFile(filePath, options)
}
Он вызывается в методе onCreateView () моего класса фрагмента:
bitmapOfImage = loadBitmap(args.getString(FILE_PATH))
Растровое изображение bitmapOfImage
изменяется определенным образом с помощью RenderScript
, а затем оно загружается в ImageView
:
// do some modification on the bitmap
// ...
// copy modified pixels to 'bitmapIn'
allocationOut.copyTo(bitmapIn)
// load it into the imageview specified by its ID 'modifiedImage'
binding.modifiedImage.setImageBitmap(bitmapIn)
Итак, я беру изображение с CameraX
и файл путь передается в loadBitmap()
метод фрагмента обработки изображения, упомянутый выше. Но хотя я беру изображение в портретном режиме, оно показано в альбомной версии.
Вот небольшое изображение, как оно выглядит, когда я снимаю изображение:
Но вот как это выглядит после загрузки растрового изображения в изображение: ![enter image description here](https://i.stack.imgur.com/yJZX0.png)
Как вы можете видеть, изображение кажется повернутым в право. Почему ? Это происходит по умолчанию? Как я могу это исправить? Для полноты, вот мой макет XML, используемый для показа захваченного фото:
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/imagecontainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ImageModificationFragment">
<ImageView
android:id="@+id/modified_image"
android:layout_width="0dp"
android:layout_height="0dp"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:contentDescription="@string/shows_filtered_image" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>