code:
public static Bitmap drawable2Bitmap(Drawable drawable){ if(drawable instanceof BitmapDrawable){ return ((BitmapDrawable)drawable).getBitmap() ; }else if(drawable instanceof NinePatchDrawable){ Bitmap bitmap = Bitmap .createBitmap( drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); drawable.draw(canvas); return bitmap; }else{ return null ; } }
本文介绍了一种将Drawable对象转换为Bitmap的方法,适用于多种Drawable类型,包括NinePatchDrawable。通过创建适当配置的Bitmap并使用Canvas进行绘制,确保了转换过程的灵活性与准确性。
7937

被折叠的 条评论
为什么被折叠?



