Redimensionar bitmap de Android manteniendo relación de aspecto

Tengo una visión de encargo (1066 x 738), y estoy pasando una imagen del mapa de bits (720×343). Quiero escalar el mapa de bits para caber en la vista personalizada sin exceder el límite del padre.

Introduzca aquí la descripción de la imagen

Quiero lograr algo como esto:

Introduzca aquí la descripción de la imagen

¿Cómo debo calcular el tamaño del mapa de bits?

Cómo calculo la nueva anchura / altura:

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); } 

Pero todo lo que estoy logrando es esto:

Introduzca aquí la descripción de la imagen

One Solution collect form web for “Redimensionar bitmap de Android manteniendo relación de aspecto”

Debe intentar usar una matriz de transformación construida para ScaleToFit.CENTER . Por ejemplo:

 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); 
  • Convertir la textura procesada de OpenGL ES 2.0 en mapa de bits y volver
  • Obtención de mapa de bits desde SurfaceView personalizado
  • Android arrastrar y soltar / rotar mapa de bits en lienzo
  • Recortar mapa de bits sin leer todo el mapa de bits primero
  • Android, Guardar y cargar un mapa de bits en caché de diferentes actividades
  • Escala de imagen sin perder calidad de imagen no funcionó
  • Cómo obtener cuando un ImageView está completamente cargado en Android
  • Cómo averiguar IDs o nombres de sistemas extraíbles (mapas de bits) precargados del volcado de memoria
  • Fuga de memoria de ViewPager de Android
  • Drawable vs Single reutilizable Bitmap mejor con la memoria?
  • Escribir metadatos EXIF ​​en imágenes en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.