Esto parece simple, estoy tratando de establecer una imagen de mapa de bits pero desde los recursos, tengo dentro de la aplicación en la carpeta dibujable.
bm = BitmapFactory.decodeResource(null, R.id.image);
¿Es esto correcto?
Esto parece simple, estoy tratando de establecer una imagen de mapa de bits pero desde los recursos, tengo dentro de la aplicación en la carpeta dibujable.
bm = BitmapFactory.decodeResource(null, R.id.image);
¿Es esto correcto?
Respuestas:
Suponiendo que está llamando a esto en una clase de actividad
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);
Se requiere el primer parámetro, Recursos. 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 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 toma todo el diseño, pero puede modificarlo como lo desee.
Si ha declarado un objeto de mapa de bits y desea mostrarlo o almacenarlo. 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 un objeto de mapa de bits.
Bitmap contact_pic = BitmapFactory.decodeResource(
v.getContext().getResources(),
R.drawable.android_logo
);
Ahora puede usar este objeto de mapa de bits, ya sea que desee almacenarlo, o usarlo en Google Maps mientras dibuja una imagen en latitud y longitud fijas, o usar en otro lugar
solo reemplaza esta línea
bm = BitmapFactory.decodeResource(null, R.id.image);
con
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName);
Quiero decir que simplemente cambie el valor nulo con getResources () Si usa este código en cualquier botón o evento de clic de vista de imagen, simplemente agregue getApplicationContext () antes de getResources () ..
Con esta función, puede obtener un mapa de bits de imagen. Solo pasa la url de la imagen
public Bitmap getBitmapFromURL(String strURL) {
try {
URL url = new URL(strURL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}