Я сталкиваюсь со странной ситуацией, касающейся размера изображения и соотношения сторон, но, возможно, это будет очевидно для некоторых, я надеюсь.
У меня есть RecyclerView
, в который я вставляю изображение (и видео), ширина изображения принудительная (maxWidth / 2).
Я хочу сохранить исходное соотношение сторон и установить высоту изображения в соответствии со значением ширины. Затем мне пришлось извлечь исходный размер изображения из личной галереи пользователя:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(file, options);
fileHeight = options.outHeight;
fileWidth = options.outWidth;
Я рассчитал коэффициент между шириной и высотой, но я обнаружил, что он не может работать, когда размеры изображения инвертированы. Я провел несколько тестов на нескольких камерах, и некоторые из них снимали, например, в разрешении 720x1280 и другом разрешении 1280x720, тогда как изображение точно такое же.
Затем я попытался инвертировать коэффициент вычисления в соответствии с начальными размерами, но он не работает из-за формата изображения (ландшафт ...). Это то же самое с видео.
Как этого добиться?