Відповіді:
Якщо припустити, що ви викликаєте це в класі активності
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);
Перший параметр, Ресурси, обов'язковий. Це, як правило, можна отримати в будь-якому контексті (і підкласах, таких як Activity).
Спробуйте це
Це з sdcard
ImageView image = (ImageView) findViewById(R.id.test_image);
Bitmap bMap = BitmapFactory.decodeFile("/sdcard/test2.png");
image.setImageBitmap(bMap);
Це з ресурсів
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
Якщо ресурс відображається і є переглядом, ви також можете його захопити. Як скріншот:
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);
Це фактично захоплює весь макет, але ви можете змінити, як хочете.
Якщо ви оголосили об'єкт растрової карти і хочете його відобразити або зберегти цей об'єкт растрової карти. але спочатку вам потрібно призначити будь-яке зображення, і ви можете використовувати подію натискання кнопки, цей код лише продемонструє, що зберігати зображення, що виводиться, в растровому об'єкті.
Bitmap contact_pic = BitmapFactory.decodeResource(
v.getContext().getResources(),
R.drawable.android_logo
);
Тепер ви можете використовувати цей об'єкт растрових зображень, чи потрібно його зберігати, чи використовувати його в картах google, малюючи зображення на фіксованій широті та довготі, або використовувати десь ще
просто замініть цю лінію
bm = BitmapFactory.decodeResource(null, R.id.image);
з
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName);
Я маю на увазі сказати просто змінити нульове значення за допомогою getResources () Якщо ви використовуєте цей код у будь-якій кнопці або перегляді зображення, натисніть подія просто додайте getApplicationContext () перед getResources ().
За допомогою цієї функції ви можете отримати Image Bitmap. Просто передайте URL-адресу зображення
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;
}
}