很多情况下我们都有将UI给的图片保存到本地的需求,比如宣传或者拉新海报。而图片往往都是填充到某个布局或者ImageView中的,那么怎么做到将布局或者view保存成本地图片呢?看下面的代码。
/**
* view转bitmap
*/
public Bitmap getBitmapView(View v) {
int w = v.getWidth();
int h = v.getHeight();
Bitmap bmp = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bmp);
c.drawColor(Color.WHITE);
//创建一个空的bitmap,并且利用这个空的bitmap预先渲染一张白色画布
v.layout(0, 0, w, h);
v.draw(c);
//将布局中的内容填充到画布
return bmp;
}
bitmap创建成功之后要将其保存到本地,保存bitmap的方法自行搜索。