Get drawable from your resources
Drawable drawable = getResources().getDrawable(R.drawable.xxx);
drawable Conversion bitmapdrawble
BitmapDrawable bitmapdrawable = (BitmapDrawable) getResources().getDrawable(R.drawable.xxx);
Drawble conversion to bitmap
The first way
In fact, it is simpler to convert drawable to bitmapdrawable and then bitmapdrawable to bitmap.
Bitmap bitmap = bitmapdrawable.getBitmap();
The second way
Need to re-draw, more troublesome, recommend the use of the first
public static Bitmap drawableToBitmap(Drawable drawable) { // 取 drawable 的长宽 int w = drawable.getIntrinsicWidth(); int h = drawable.getIntrinsicHeight(); // 取 drawable 的颜色格式 Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565; // 建立对应 bitmap Bitmap bitmap = Bitmap.createBitmap(w, h, config); // 建立对应 bitmap 的画布 Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, w, h); // 把 drawable 内容画到画布中 drawable.draw(canvas); return bitmap; }
Bitmap conversion to Drawable
Android Development--drawable and bitmap knowledge