截取当前界面的组件和保存成png图像文件。

首先要调用View.setDrawingCacheEnabled方法打开图像缓存,然后使用view.getDrawingCache方法获取View的Bitmap对象。

保存成png图像使用Bitmap.compress方法即可。

具体代码如下:

View view = getLayoutInflater().inflate(R.layout.activity_main,null);        //打开图像缓存        view.setDrawingCacheEnabled(true);        //只有调用measure和layout方法才能成功保存可视组件的截图到png图像文件        //测量view的大小        view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),        MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));        //发送位置和尺寸到View及其所有的子view        view.layout(0, 0, view.getMeasuredHeight(), view.getMeasuredWidth());        try{        //获取可是组件的截图        Bitmap bitmap = view.getDrawingCache();        // 将截图保存到SD卡根目录的MyText.png图像文件中        FileOutputStream fileos = new FileOutputStream("/sdcard/MyTest.png");        //将Bitmap对象中的图像数据压缩成png格式的图像数据,并将这些数据保存在MyTest.png文件中        bitmap.compress(CompressFormat.PNG, 100, fileos);        //关闭文件输出流        fileos.close();         }catch(Exception e){        System.out.println("出错了!!!!!!");        }
对了,若保存图像到sdcard上别忘了取得权限:

    <!-- 往SDCard的创建与删除文件权限 -->    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>    <!-- 往SDCard写入数据权限 -->    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

具体效果如下:


上图中MyTest.png即保存的截图。


更多相关文章

  1. 【Android】保存Fragment切换状态
  2. 【Android(安卓)Developers Training】 24. 保存键值对
  3. Android(安卓)Preference解读
  4. ACache的使用详解
  5. 初学Android,图形图像之混合使用逐帧动画和补间动画(三十七)
  6. 谈谈Android中的SurfaceTexture
  7. Android两种不同的方法去实现图像的放大与缩小
  8. Android手动绘制ninepath(.9.png)图片
  9. 安卓截图笔记

随机推荐

  1. Android(安卓)Scroll 分析
  2. Android--应用开发3(Android(安卓)layout
  3. Android(安卓)属性文件build.prop,获取属
  4. Android布局属性解析
  5. android键盘弹出之后界面整体上移,顶出去
  6. LinearLayout中gravity和layout_gravity
  7. 搭建Android(安卓)+ Eclipse环境时遇到的
  8. 系出名门Android(9) - 数据库支持(SQLite
  9. Android之 UI主线程
  10. Android(安卓)网络编程