码迷,mamicode.com
首页 > 移动开发 > 详细

android截屏:保存一个view的内容为图片并存放到SD卡

时间:2014-10-18 16:54:17      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:android   io   os   for   sp   on   cti   bs   new   

项目中偶尔会用到截屏分享,于是就有了下面这个截屏的方法~

下面得saveImage()方法就是保存当前Activity对应的屏幕所有内容的截屏保存。

private void saveImage() {

 

// SD卡保存路径

String savePath = Environment.getExternalStorageDirectory() + "/temp.png";

// showProgress("请稍候", "正在保存图片……");

saveMyBitmap(getBitmapFromRootView(getWindow().getDecorView()), savePath);

}

 

// 获取view并转换成bitmap图片

private static Bitmap getBitmapFromRootView(View view) {


view.setDrawingCacheEnabled(true);

Bitmap bmp = Bitmap.createBitmap(view.getDrawingCache());

view.setDrawingCacheEnabled(false);

if (bmp != null) {

return bmp;

} else {

return null;

}

}

 

// 把bitmao图片保存到对应的SD卡路径中

private void saveMyBitmap(Bitmap mBitmap, String path) {

File f = new File(path);

try {

f.createNewFile();

} catch (IOException e) {

e.printStackTrace();

}

FileOutputStream fOut = null;

try {

fOut = new FileOutputStream(f);

} catch (FileNotFoundException e) {

e.printStackTrace();

}

if (mBitmap != null) {

// 保存格式为PNG 质量为100

mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);

}

try {

fOut.flush();

} catch (IOException e) {

e.printStackTrace();

}

try {

fOut.close();

} catch (IOException e) {

e.printStackTrace();

}

}

android截屏:保存一个view的内容为图片并存放到SD卡

标签:android   io   os   for   sp   on   cti   bs   new   

原文地址:http://www.cnblogs.com/xgjblog/p/4033269.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!