Sembra semplice, sto cercando di impostare un'immagine bitmap ma dalle risorse, ho all'interno dell'applicazione nella cartella disegnabile.
bm = BitmapFactory.decodeResource(null, R.id.image);
È corretto?
Sembra semplice, sto cercando di impostare un'immagine bitmap ma dalle risorse, ho all'interno dell'applicazione nella cartella disegnabile.
bm = BitmapFactory.decodeResource(null, R.id.image);
È corretto?
Risposte:
Supponendo che tu lo stia chiamando in una classe Activity
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);
È richiesto il primo parametro, Risorse. Normalmente è ottenibile in qualsiasi contesto (e sottoclassi come Attività).
Prova questo
Questo è da sdcard
ImageView image = (ImageView) findViewById(R.id.test_image);
Bitmap bMap = BitmapFactory.decodeFile("/sdcard/test2.png");
image.setImageBitmap(bMap);
Questo proviene dalle risorse
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
Se la risorsa viene visualizzata ed è una vista, è anche possibile acquisirla. Come uno screenshot:
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);
Questo in realtà afferra l'intero layout ma puoi modificarlo come desideri.
Se è stato dichiarato un oggetto bitmap e si desidera visualizzarlo o archiviare questo oggetto bitmap. ma prima devi assegnare qualsiasi immagine e puoi usare l'evento click pulsante, questo codice dimostrerà solo come memorizzare l'immagine disegnabile in Oggetto bitmap.
Bitmap contact_pic = BitmapFactory.decodeResource(
v.getContext().getResources(),
R.drawable.android_logo
);
Ora puoi usare questo oggetto bitmap, sia che tu voglia memorizzarlo, sia usarlo in google maps mentre disegni un'immagine su latitudine e longitudine fisse, o per usare qualcos'altro
basta sostituire questa linea
bm = BitmapFactory.decodeResource(null, R.id.image);
con
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName);
Voglio dire, basta cambiare il valore null con getResources () Se si utilizza questo codice in qualsiasi pulsante o evento Click vista immagine, basta aggiungere getApplicationContext () prima di getResources () ..
Utilizzando questa funzione è possibile ottenere l'immagine bitmap. Basta passare l'URL dell'immagine
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;
}
}