Bitmap和Drawable的互相转换

Posted yfceshi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的互相转换的主要内容,如果未能解决你的问题,请参考以下文章

Android中 Bitmap和Drawable相互转换的方法

drawable转换为bitmap后透明背景图变黑???

drawable转换为bitmap后透明背景图变黑???

如何在 android 中将 Bitmap 转换为 Drawable?

Android-DrawableBitmapbyte[]资源文件相互转换

android将drawable下的图片转换成bitmap