Android获取View对应的Bitmap

个人应用里面有一个需求,将一个画面分享出去,这个画面底层是一个View,因此首先要把这个View转换成Bitmap,而后在分享这个bitmap便可。话很少说,直接上代码。canvas

有个地方须要注意一下:就是//Draw background的代码不能省略,不然生成的图片背景就是黑色的了。spa

==code

public static Bitmap getBitmapFromView(View v) {
    Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.RGB_565);
    Canvas c = new Canvas(b);
    v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
    // Draw background
    Drawable bgDrawable = v.getBackground();
    if (bgDrawable != null)
        bgDrawable.draw(c);
    else
        c.drawColor(Color.WHITE);
    // Draw view to canvas
    v.draw(c);
    return b;
}

==blog

相关文章
相关标签/搜索