Como cambiar de tamaño una imagen (bitmap)

7 marzo, 2012 por Gonzalo de Córdoba Dejar una respuesta »

Objetivo:

Cambiar de tamaño una imagen (objeto de la clase Bitmap), para reducirlo o ampliarlo hasta un nuevo tamaño deseado.

Para ello podemos usar la función que hay más abajo, llamada redimensionarImagenMaximo(Bitmap mBitmap, float newWidth, float newHeigth), donde los parámetros serán el Bitmap que deseamos redimensionar, la nueva anchura y la nueva altura.

La función calcula una nueva escala, aplicandolas a una instancia de la clase Matrix, y posteriormente creando de un nuevo Bitmap, que vendrá ya con las nuevas dimensiones.

A continuación mostramos la función, la cual devolverá una nueva instancia de la clase Bitmap, que contendrá nuestra imagen ya redimensionada.

Código fuente función (Java):

 /**
 * Redimensionar un Bitmap. By TutorialAndroid.com
* @param Bitmap mBitmap
* @param float newHeight
* @param float newHeight
 * @param float newHeight
 * @return Bitmap
 */
public Bitmap redimensionarImagenMaximo(Bitmap mBitmap, float newWidth, float newHeigth){
   //Redimensionamos
   int width = mBitmap.getWidth();
   int height = mBitmap.getHeight();
   float scaleWidth = ((float) newWidth) / width;
   float scaleHeight = ((float) newHeigth) / height;
   // create a matrix for the manipulation
   Matrix matrix = new Matrix();
   // resize the bit map
   matrix.postScale(scaleWidth, scaleHeight);
   // recreate the new Bitmap
   return Bitmap.createBitmap(mBitmap, 0, 0, width, height, matrix, false);
}
Publicidad

2 comentarios

  1. enrique dice:

    Excelente..!! me ayudo, es justo lo que necesitaba para reducir el tamaño de mis imagenes y colocarlas en un listview…

Deja un comentario

Rellena el captcha please!! *

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies