if (drawable instanceof NinePatchDrawable) {
NinePatchDrawable npd = (NinePatchDrawable) drawable;
Bitmap output_bitmap = Bitmap.createBitmap(npd.getIntrinsicWidth(), npd.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output_bitmap);
npd.draw(canvas);
return output_bitmap;
} else {
BitmapDrawable bd = (BitmapDrawable) drawable;
return bd.getBitmap();
}