我的應用里面有一個需求,將一個畫面分享出去,這個畫面底層是一個View,所以首先要把這個View轉換成Bitmap,然后在分享這個bitmap即可。話不多說,直接上代碼。
有個地方需要注意一下:就是//Draw background的代碼不能省略,否則生成的圖片背景就是黑色的了。
==
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; }
==