Como pasar de Drawable a Bitmap y descargar imagen de internet a Bitmap

Objetivo:

Pasar de Drawable a Bitmap, o descargar como Bitmap una imagen de internet a través de su url.

Para ello podemos usar las funciones que hay más abajo, llamadas drawableToBitmap(Drawable mDrawable) y urlImageToBitmap(String urlImage), donde el valor devuelto de cada una de las funciones será de la clase Bitmap.

A continuación mostramos la primera función, a la cual le pasamos la instancia del objeto Drawable para que nos devuelva el Bitmap:

Código fuente función (Java):

[sourcecode language=”java”]
/**
* Pasar de Drawable a Bitmap. By TutorialAndroid.com
* @param Drawable mDrawable
* @return Bitmap
*/
public Bitmap drawableToBitmap(Drawable mDrawable){
// Usamos el método decode Resource de BitmapFactory para la conversión
return BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_resource);
}
[/sourcecode]

A continuación mostramos la primera función, a la cual le pasamos la instancia del objeto Drawable para que nos devuelva el Bitmap:

Código fuente función (Java):

[sourcecode language=”java”]
/**
* Descarga una imagen de internet a Bitmap. By TutorialAndroid.com
* @param String urlImage
* @return Bitmap (null en caso de no poder)
*/
public Bitmap urlImageToBitmap(String urlImage){
Bitmap mIcon1 = null;
URL url_value = new URL(urlImage);
if (url_value != null) {
mIcon1 = BitmapFactory.decodeStream(url_value.openConnection().getInputStream());
}
return mIcon1;
}
[/sourcecode]

Una vez hemos obtenido el Bitmap, podemos realizar tareas con él, tal y como cambiar el tamaño (ver aqui).

Espero que os haya servido de ayuda.

¡Un saludo!