Android: 屏幕截图
2015-06-12 15:26
429 查看
获取图片:
保存图片:
参考:/article/3562644.html
/** * 屏幕截屏 * @param activity * @return */ public static Bitmap getShot(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; }
保存图片:
public static void saveImage(Bitmap bmp, String dirName, String fileName) throws IOException { // 判断sd卡是否存在 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { String storagePath = Environment.getExternalStorageDirectory().toString(); File dir = new File(storagePath, dirName); // 判断文件夹是否存在,不存在则创建 if(!dir.exists()){ dir.mkdir(); } File file = new File(dir.getPath(), 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) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
参考:/article/3562644.html
相关文章推荐
- Android的进程回收机制
- 基于 vlc android截图录制视频等功能
- android获取手机Imei码
- 海思android4.4 SDK编译Latin输入法
- Android Studio新手完全指引
- adb 命令 直接把日志存到text文件中
- Android取得超级管理员权限
- Android实战简易教程-第十五枪(实现ListView中Button点击事件监听)
- android代码混淆之不同ADT版本和不同IDE之间混淆配置文件的区别
- 创建安卓模拟器的两种方式及常用Android命令介绍
- Android和Java的关系和区别
- Android 底部TabActivity——FragmentActivity
- Android中使用jdbc连接Sqllite
- Android之异步线程原理
- Android---Activity 生命周期(四)Recreating Activity
- iOS、Android、java服务端 DES+RSA安全传输统一实现
- android studio :ADB not responding.
- Android将项目中的数据库复制到SD
- bitmap 设置图片尺寸,避免 内存溢出 OutOfMemoryError的优化方法
- Android Studio 格式化代码