個人應用裏面有一個需求,將一個畫面分享出去,這個畫面底層是一個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