博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android -- 截屏-view.getDrawingCache()
阅读量:6301 次
发布时间:2019-06-22

本文共 1249 字,大约阅读时间需要 4 分钟。

hot3.png

在项目中有这样的需求,需要把activity的试图转成图片保存起来。

步骤:

(1)通过view.getDrawingCache()创建Bitmap对象。

(2)创建相应要保存图片文件

(3)bitmap.compress()把Bitmap对象保存到图片文件中

public void screenShot(View view, String fileName) throws Exception {		view.setDrawingCacheEnabled(true);		view.buildDrawingCache();		//上面2行必须加入,如果不加如view.getDrawingCache()返回null		Bitmap bitmap = view.getDrawingCache();		FileOutputStream fos = null;		try {			//判断sd卡是否存在 			boolean sdCardExist = Environment.getExternalStorageState() 	                .equals(android.os.Environment.MEDIA_MOUNTED); 			if(sdCardExist){				//获取sdcard的根目录				String sdPath = Environment.getExternalStorageDirectory().getPath();								//创建程序自己创建的文件夹				File tempFile= new File(sdPath+File.separator +fileName);				if(!tempFile.exists()){					tempFile.mkdirs();				}				//创建图片文件				File file = new File(sdPath + File.separator+fileName+File.separator+ "screen" + ".png");				if(!file.exists()){				   file.createNewFile();				}								image.setImageBitmap(bitmap);				fos = new FileOutputStream(file);				if (fos != null) {										bitmap.compress(Bitmap.CompressFormat.PNG, 90, fos);					fos.close();				}			}								} catch (Exception e) {			Log.e(TAG, "cause for "+e.getMessage());		}	}
 

转载于:https://my.oschina.net/winHerson/blog/100610

你可能感兴趣的文章
我的友情链接
查看>>
VDI序曲二十九 APP-V应用程序许可证
查看>>
Ansible--playbook介绍
查看>>
NETBIOS
查看>>
浅谈代理
查看>>
php创建桌面快捷方式实现方法
查看>>
0927集合作业
查看>>
基于jquery实现的超酷动画源码
查看>>
fl包下的TransitionManager的使用
查看>>
Factorialize a Number
查看>>
[USB-Blaster] Error (209040): Can't access JTAG chain
查看>>
TreeSet的用法
查看>>
防HTTP慢速攻击的nginx安全配置
查看>>
深入理解PHP内核(十四)类的成员变量及方法
查看>>
Spring Boot2.0+中,自定义配置类扩展springMVC的功能
查看>>
MySQL(Navicat)运行.sql文件时报错[Err] 2006 - MySQL server has gone away 的解决方法
查看>>
参与博客编辑器改版,我的礼物 感谢51cto
查看>>
Fedora19和Windows7双系统修改默认引导
查看>>
JavaWeb笔记——JSTL标签
查看>>
Eclipse插件大全 挑选最牛的TOP30
查看>>