android 保存当前屏幕或者view为图片bitmap

转载 2013年12月03日 11:36:20

转自:http://blog.csdn.net/arui319/article/details/9273563

 

public class ScreenShot {

	public static Bitmap takeScreenShot(Activity activity) {
		// View是你需要截图的ViewView view = activity.getWindow().getDecorView();
  	view.setDrawingCacheEnabled(true);
  	view.buildDrawingCache();
  	Bitmap b1= view.getDrawingCache();// 获取状态栏高度
  	Rect frame = new Rect();
  	activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
  	int statusBarHeight = frame.top;// 获取屏幕长和高
  	int width = activity.getWindowManager().getDefaultDisplay().getWidth();
  	int height =  activity.getWindowManager().getDefaultDisplay()
    	.getHeight();// 去掉标题栏
  	Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height
    	- statusBarHeight);view.destroyDrawingCache();
  	return b;
 	}
	<span style="color:#ff0000;">//新增方法</span>
	public static Bitmap takeViewShot(View view) {
  	// View是你需要截图的View
 	 view.setDrawingCacheEnabled(true);view.buildDrawingCache();
  	Bitmap b1 = view.getDrawingCache();// 获取View长和高
  	int width = view.getWidth();
  	int height = view.getHeight();Bitmap b = Bitmap.createBitmap(b1, 0, 0, width, height);
  	view.destroyDrawingCache();
  	return b;}private static void savePic(Bitmap b, File filePath) {
  	FileOutputStream fos = null;try {
   	fos = new FileOutputStream(filePath);
   	if (null != fos) {b.compress(Bitmap.CompressFormat.PNG, 100, fos);
    		fos.flush();
    		fos.close();}
  	} catch (FileNotFoundException e) {
  	} catch (IOException e) {
  	}}public static void shoot(Activity a, File filePath) {
  	if (filePath == null) {
   		return;}
  	if (!filePath.getParentFile().exists()) {
   		filePath.getParentFile().mkdirs();
  	}	ScreenShot.savePic(ScreenShot.takeScreenShot(a), filePath);
 	}}

 

 

相关文章推荐

Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)

最近在做ListView分页显示,其中包括图片 和文字(先下载解析文字内容,再异步加载图片)发现每次点击下一页后,文字内容加载完毕,马上向下滑动,由于这时后台在用线程池异步下载图片,我每页有20条,也...

Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)

最近在做ListView分页显示,其中包括图片 和文字(先下载解析文字内容,再异步加载图片)发现每次点击下一页后,文字内容加载完毕,马上向下滑动,由于这时后台在用线程池异步下载图片,我每页有20条,也...

Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)

最近在做ListView分页显示,其中包括图片 和文字(先下载解析文字内容,再异步加载图片)发现每次点击下一页后,文字内容加载完毕,马上向下滑动,由于这时后台在用线程池异步下载图片,我每页有20条,也...

安卓开发截取当前屏幕图片及截取整个ListView图片并保存到本地

安卓开发截取当前屏幕图片及截取整个ListView图片并保存到本地package com.hsg.myrefresh.util;import android.app.Activity; import ...

Android截取当前屏幕保存到外部设备上

要保存屏幕首先要获取当前窗口信息,再以流的形式转成图片写入到文件保存起来,文件的命名可以根据当前时间。 package com.example.capture2sd; import java....

ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)

这几天测试时发现了些可以改进的地方。 之前的方法确实能很有效的解决 :listview加载下一页时 因为图片较多异步加载的卡顿问题。 但是,发现在用手拖动ListView的时候,滚动出的item中...

lanyload加载当前屏幕图片

只加载当前屏幕图片以提高网页的浏览速度相信大家都不陌生,最近做一个网站刚好用到,看了看超简单。只需在页面里引入jquery.lazyload.js就可以了。然后自己可写一些函数来定义图片的预加载,定义...

集成ShareSDK分享当前屏幕图片的方法

最近在做一个关于跑步的软件,集成了ShareSDK分享的平台,下面直接上代码(写的不好的地方,希望各位指出,谢谢): -(void)btnShare {     // dow...

集成ShareSDK分享当前屏幕图片的方法

最近在做一个关于跑步的软件,集成了ShareSDK
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)