Intereting Posts
Android Crosswalk Lite – интеграция с Android Studio Что содержится в файле ./META-INF/CERT.RSA для приложения для Android? Как инициализировать новый Camera.Size в Android Ошибка установки: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED? ConstraintLayout – Элемент занимает необходимое пространство до того, что доступно Android BroadcastReceiver onReceive Update TextView в MainActivity Как эмулировать нажатие кнопки «домой» в эмуляторе Android Установка флага в onSaveInstanceState () для определения типа выхода в onDestroy () Проверьте, является ли объект экземпляром класса (но не является экземпляром его подкласса) Сообщение обработчика Android и ListView Настройте размер значка кнопки плавающего действия (fab) Лучший способ сравнить даты в Android Не найдено ни одного представления для id 0x7f0e00d5 (com.example.page:id/dialogViewpager) для фрагмента OneFragment {92c0220 # 1 id = 0x7f0e00d5 android: switcher: 2131624149: 0} Поиск Android SDK на Mac и добавление в PATH Размер шрифта TextView в приложении Android изменяется при изменении размера шрифта из собственных настроек

Изменение размера растрового изображения Android

У меня есть пользовательский вид (1066 x 738), и я передаю растровое изображение (720×343). Я хочу масштабировать растровое изображение, чтобы оно соответствовало пользовательскому представлению без превышения границы родителя.

Введите описание изображения здесь

Я хочу добиться чего-то подобного:

Введите описание изображения здесь

Как рассчитать размер растрового изображения?

Как я рассчитываю новую ширину / высоту:

public static Bitmap getScaledBitmap(Bitmap b, int reqWidth, int reqHeight) { int bWidth = b.getWidth(); int bHeight = b.getHeight(); int nWidth = reqWidth; int nHeight = reqHeight; float parentRatio = (float) reqHeight / reqWidth; nHeight = bHeight; nWidth = (int) (reqWidth * parentRatio); return Bitmap.createScaledBitmap(b, nWidth, nHeight, true); } 

Но все, что я достигаю, таково:

Введите описание изображения здесь

Solutions Collecting From Web of "Изменение размера растрового изображения Android"

Вы должны попробовать использовать матрицу преобразования, ScaleToFit.CENTER для ScaleToFit.CENTER . Например:

 Matrix m = new Matrix(); m.setRectToRect(new RectF(0, 0, b.getWidth(), b.getHeight()), new RectF(0, 0, reqWidth, reqHeight), Matrix.ScaleToFit.CENTER); return Bitmap.createBitmap(b, 0, 0, b.getWidth(), b.getHeight(), m, true);