- 简单拓展,保持在本地后提醒相册,这里有图片,就可以在相册中看到保存的图片了
/**
* 保存并且让相册可以查看
*/
public void saveRemind(){
saveMyBitmap(getApplicationContext(), myUtils.loadBitmapFromView(ll_big_layout));//ll_big_layout就是View
// 通知图库更新
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri uri = Uri.fromFile(f);
intent.setData(uri);
this.sendBroadcast(intent);
ShowToast("图片保存成功");
}
- 保存的图片
/**
* 将一个view保存成图片
* @param view 传入的目标view
* @return
*/
public static Bitmap loadBitmapFromView(View view) {
view.setDrawingCacheEnabled(true);
view.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
view.setDrawingCacheBackgroundColor(Color.WHITE);
int w1 = view.getLeft();
int h1 = view.getTop();
//int w2 = view.getWidth()+view.getLeft();
//int h2 = view.getHeight()+view.getTop();
//相当于上面的
int w2 = view.getRight();
int h2 = view.getBottom();
//w2-w1, h2-h1这个两个参数要注意一下,要不图片的背景色和图片的大小不一
Bitmap bmp = Bitmap.createBitmap(w2-w1, h2-h1,Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bmp);
c.drawColor(Color.WHITE);
/** 如果不设置canvas画布为白色,则生成透明 */
view.layout(w1, h1, w2, h2);
view.draw(c);
return bmp;
}
如果还想了解截屏分享功能还可以看看之前写的这篇:http://blog.csdn.net/qq_32519693/article/details/72794089