2011-02-10 14 views

Respuesta

661

Suponiendo que está llamando esto en una tipo de actividad

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image); 

El primer parámetro, Recursos, se requiere. Normalmente se puede obtener en cualquier Contexto (y subclases como Actividad).

+0

estoy recibiendo valor nulo de mapa de bits, me puedes decir por qué estoy recibiendo nula – gautam

7

Si el recurso se muestra y es una vista, también puede capturarlo. Como una captura de pantalla:

View rootView = ((View) findViewById(R.id.yourView)).getRootView(); 
rootView.setDrawingCacheEnabled(true); 
rootView.layout(0, 0, rootView.getWidth(), rootView.getHeight()); 
rootView.buildDrawingCache(); 

Bitmap bm = Bitmap.createBitmap(rootView.getDrawingCache()); 

rootView.setDrawingCacheEnabled(false); 

Esto realmente agarra todo el diseño, pero puede modificarlo como desee.

28

Prueba este

Se trata de sdcard

ImageView image = (ImageView) findViewById(R.id.test_image); 
Bitmap bMap = BitmapFactory.decodeFile("/sdcard/test2.png"); 
image.setImageBitmap(bMap); 

Esto es de recursos

Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.icon); 
1

Si tiene declarar un objeto de mapa de bits y desea mostrar o almacenar este objeto de mapa de bits . pero primero debe asignar cualquier imagen, y puede usar el evento de clic de botón, este código solo demostrará cómo almacenar la imagen dibujable en Objeto de mapa de bits.

Bitmap contact_pic = BitmapFactory.decodeResource(v.getContext().getResources(), R.drawable.android_logo); 

Ahora puede utilizar este objeto de mapa de bits, si desea almacenarlo, o para utilizarlo en los mapas de Google mientras se dibuja una imagen de la latitud fija y longitud, o para usar en otro lugar

0

solo reemplazar esta línea

bm = BitmapFactory.decodeResource(null, R.id.image); 

con

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName); 

quiero decir simplemente cambiar con valor nulo getResources() Si usa este código en cualquier botón o en vista de imagen, haga clic en evento solo agregue getApplicationContext() antes de getResources() ..

0

Encontré esta pregunta cuando quería establecer un mapa de bits para mi Vista. Por esa razón, me encontré con este código sea más útil:

myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey)); 

De here

+0

Esto asigna un recurso estirable a una vista, no responde la pregunta del OP sobre obtener un mapa de bits de un recurso. – Tom

+0

@Tom El comentario anterior al código actualizado. Espero que responda tu preocupación –

Cuestiones relacionadas