Cómo establecer un mapa de bits de recurso
Esto parece simple, estoy intentando fijar una imagen del mapa de bits pero de los recursos, tengo dentro de la aplicación en la carpeta drawable.
bm = BitmapFactory.decodeResource(null, R.id.image);
¿Es esto correcto?
- Manejo de mapas de bits grandes
- Android, guardar la imagen de la vista como archivo png
- Android: cómo convertir matriz de bytes a mapa de bits?
- Canvas.drawBitmap () tarda más tiempo en dibujar el mapa de bits por primera vez mientras que el mosaico del mapa de bits
- Android: ¿Cómo mostrar un mapa de bits en un WebView?
- Cómo manejar try catch exception android
- Rotación de un mapa de bits mediante JNI y NDK
- Diff b / w bitmap.recycle () y bitmap = nulo
- Android: Bitmap recycle () ¿cómo funciona?
- Cómo obtener un objeto Uri desde Bitmap
- Java.lang.OutOfMemoryError - BitmapFactory.decode (strPath)
- Fábrica de mapas de bits de Android sin memoria Segunda foto
- ¿Qué hay de malo en este método de cálculo inSampleSize para Bitmaps? Sin memoria
Suponiendo que está llamando a esto en una clase de actividad
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);
El primer parámetro, Recursos, es necesario. Normalmente se puede obtener en cualquier Contexto (y subclases como Actividad).
Prueba esto
Esto es 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);
Si el recurso está mostrando y es una vista, también puede capturarla. 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 la disposición entera pero usted puede alterar como usted desea.
Si ha declarado un objeto de mapa de bits y desea mostrarlo o almacenar este objeto de mapa de bits. Pero primero tiene que asignar cualquier imagen, y puede utilizar el evento de clic de botón, este código sólo demostrará que 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 utilizarlo en google maps mientras dibuja una imagen en latitud y longitud fijas, o para usar algún otro lugar
Encontré esta pregunta cuando quería establecer un mapa de bits en mi vista. Por esa razón, encontré este código más útil:
myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey));
Desde aquí
Solo reemplace esta línea
bm = BitmapFactory.decodeResource(null, R.id.image);
con
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName);
Quiero decir simplemente cambiar el valor nulo con getResources () Si utiliza este código en cualquier botón o vista de imagen, haga clic en el evento sólo añadir getApplicationContext () antes de getResources ().