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

相關文章
相關標籤/搜索