个人应用里面有一个需求,将一个画面分享出去,这个画面底层是一个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