Como cambiar de tamaño una imagen (bitmap)

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):

[sourcecode language=”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);
}
[/sourcecode]

2 comentarios en “Como cambiar de tamaño una imagen (bitmap)

  1. Pingback: Como pasar de Drawable a Bitmap y descargar imagen de internet a Bitmap | Tutorial Android, aprende a programar en Android.

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *