How to set a bitmap from resource How to set a bitmap from resource android android

How to set a bitmap from resource


Assuming you are calling this in an Activity class

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

The first parameter, Resources, is required. It is normally obtainable in any Context (and subclasses like Activity).


Try this

This is from sdcard

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

This is from resources

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


If the resource is showing and is a view, you can also capture it. Like a 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);

This actually grabs the whole layout but you can alter as you wish.