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); 
  • Android: Uso de matriz para dibujar mapas de bits
  • Buscando una explicación de post / pre / set Traducir (en el objeto Matrix) y cómo usarlos
  • Tratamiento de mapas de bits grandes (mosaico de un pequeño mapa de bits para crear papel tapiz)
  • Recorte de rectángulo redimensionable de Android
  • Fuga de memoria en Android al intentar enviar un formulario con imagen al servidor PHP
  • Last.fm no devolverá la imagen del artista
  • Java Android - volley library - obtener un mapa de bits a través de ImageLoader
  • Android: ¿Cuál es la forma más rápida de cargar varios mapas de bits / pulgares a través de http?
  • Android Cómo reciclar el mapa de bits correctamente cuando se utiliza RecyclerView?
  • Cómo comprimir Bitmap como JPEG con la pérdida de calidad al menos en Android?
  • DiskLruCache de android tutorial falta muchos métodos.
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.