获取当前activity的屏幕截图
来源:互联网 发布:淘宝网卖什么比较畅销 编辑:程序博客网 时间:2024/05/29 10:10
通过下面的函数获取Bitmap格式的屏幕截图:
public Bitmap myShot(Activity activity) { // 获取windows中最顶层的view View view = activity.getWindow().getDecorView(); view.buildDrawingCache(); // 获取状态栏高度 Rect rect = new Rect(); view.getWindowVisibleDisplayFrame(rect); int statusBarHeights = rect.top; Display display = activity.getWindowManager().getDefaultDisplay(); // 获取屏幕宽和高 int widths = display.getWidth(); int heights = display.getHeight(); // 允许当前窗口保存缓存信息 view.setDrawingCacheEnabled(true); // 去掉状态栏 Bitmap bmp = Bitmap.createBitmap(view.getDrawingCache(), 0, statusBarHeights, widths, heights - statusBarHeights); // 销毁缓存信息 view.destroyDrawingCache(); return bmp; }得到bitmap格式的图片后,可以把它保存到sd卡中,也可以用下面的方式直接显示到ImageView上:// 将bitmap转换成drawableBitmapDrawable bd=new BitmapDrawable(myShot());imageView.setBackgroundDrawable(bd); imageView.setImageBitmap(myShot());如果想写入sd中保存,可以使用下面的方法:private void saveToSD(Bitmap bmp, String dirName,String fileName) throws IOException { // 判断sd卡是否存在 if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { File dir = new File(dirName); // 判断文件夹是否存在,不存在则创建 if(!dir.exists()){ dir.mkdir(); } File file = new File(dirName + fileName); // 判断文件是否存在,不存在则创建 if (!file.exists()) { file.createNewFile(); } FileOutputStream fos = null; try { fos = new FileOutputStream(file); if (fos != null) { // 第一参数是图片格式,第二个是图片质量,第三个是输出流 bmp.compress(Bitmap.CompressFormat.PNG, 100, fos); // 用完关闭 fos.flush(); fos.close(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }dirName是输出的文件夹名称,filaName是输出的文件名,两者共同组成输出的路径,如“ /mnt/sdcard/pictures/shot.png”。还要注意在AndroidManifest中注册写入权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
0 0
- 获取当前activity的屏幕截图
- Android 获取当前activity的屏幕截图
- Android开发 获取当前activity的屏幕截图
- 当前屏幕的截图
- android 获取当前屏幕的Activity
- android 获取当前屏幕显示的Activity
- PC端获取Android手机当前屏幕截图的方法
- PC端获取Android手机当前屏幕截图的方法
- 获取屏幕的截图
- 取得当前屏幕的截图
- Android获取当前屏幕截图,简单粗暴!
- 获取和保存当前屏幕的截图 实现的C++代码如下
- 【截图】WINFORM中几句程序获取整个屏幕的图片及当前窗口的图片快照
- android后台获取当前屏幕截图(screencap.cpp修改)
- 远程获取iOS设备的屏幕截图
- iOS 快速获取屏幕截图的方法
- 获取屏幕截图
- 获取屏幕截图ScreenShot
- VC6.0如何创建以及调用动态链接库具体实例
- 剑指offer 27 字符串的排列
- 构造型模式之Abstract Factory(抽象工厂)模式
- js图片自适应宽高
- 线索化二叉树--节点空指针实现过程
- 获取当前activity的屏幕截图
- svd(奇异值分解)
- 关于synchronized以及ReetrantLock、ReentrantReadWriteLock的选择
- windows tips cmd提示符下 日期及文件压缩 脚本
- libevent - 一个奇怪的问题
- cocos-Lua07帧动画&骨骼动画
- js 取checkbox中 多个被选中的值
- 跟我学Spring3--注解实现Bean依赖注入
- android系统架构分析