[Android] 一个将当前屏幕保存为图片文件的类(简单说就是抓屏)
来源:互联网 发布:阿里云架构 java 编辑:程序博客网 时间:2024/06/06 22:45
现在无论是应用,还是游戏中,都经常会有分享的功能。分享,不仅要分享文字,也要分享应用或者游戏的屏幕截图,这样才能做到图文并茂,吸引到更多的用户。
想要做图片的分享功能,首先就需要抓屏,将当前屏幕保存为一个图片文件。
下面就是一个将当前的Activity直接保存为一个图片文件的类库,可以直接使用。需要的,直接拿来主义就好了。
package com.gaolei.framework.android.util;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Rect;import android.view.View;public class ScreenShot {private 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;}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) {// e.printStackTrace();} catch (IOException e) {// e.printStackTrace();}}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] 一个将当前屏幕保存为图片文件的类(简单说就是抓屏)
- Android 一个将当前屏幕保存为图片文件的类
- 当前屏幕保存为图片文件的类(getWindow().getDecorView())-----截屏
- 将屏幕保存为图片 将当前MFC程序保存为图片 c++ vc
- 将屏幕保存为图片 将当前MFC程序保存为图片 c++ vc
- 将屏幕保存为图片 将当前MFC程序保存为图片 c++ vc
- 将屏幕保存为图片的方法
- OpenGL将当前屏幕保存为bmp/png/jpg文件
- android 保存当前屏幕或者view为图片bitmap
- VC将屏幕区域保存为图片
- 将Word中的图片保存为一个文件
- 将bitmap对象保存为一个图片文件
- 将屏幕截取并保存为文件
- RenderTexture保存大于当前屏幕的图片
- 怎么样简单快速的将pdf保存为图片--三部曲
- android 将一个bitmap保存成图片文件
- 正则提取
- css postion
- NSRange--
- oracle监听错误与hosts文件配置
- TCP/IP四层模型
- [Android] 一个将当前屏幕保存为图片文件的类(简单说就是抓屏)
- QT编译出来的程序过大的解决方法
- Oracle(没有 UPDATE FROM)中的 UPDATE FROM 解决方法
- Java Filter 与 责任链设计模式
- SetupDiGetDeviceInstanceId获取ID的疑问
- 快速排序
- 取消视图中的键盘
- poj2488 A Knight's Journey(简单dfs)
- 通过命令行给c的main方法传参数