首页 > 代码库 > Bitmap和Drawable的互相转换

Bitmap和Drawable的互相转换

   刚好之前的项目实用到。怕遗忘了。就先记录下来。然后会用到的时候直接来这copy使用就好了。

 1.Bitmap ---->Drawable:

   public static Drawable bitmapToDrawable(Bitmap bitmap) {
        BitmapDrawable bd = new BitmapDrawable(bitmap);
        return bd;
    }

2.Drawable---->Bitmap:

    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.createBitmap(w, h, config);
        Canvas canvas = new Canvas(bitmap);
        drawable.setBounds(0, 0, w, h);
        drawable.draw(canvas);
        return bitmap;
    }

That is Over。

Bitmap和Drawable的互相转换