android 截图

来源:互联网 发布:linux 查看java版本 编辑:程序博客网 时间:2024/05/16 07:03
public class ScreenShot {    public static Bitmap takeScreenShot(Activity activity) {        // View是你须要截图的View        View view = activity.getWindow().getDecorView();        int width1 = activity.getWindow().getDecorView().getWidth();        int height1 = activity.getWindow().getDecorView().getHeight();        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, 25, 320, 455);        Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height1-statusBarHeight);        view.destroyDrawingCache();        return b;    }    public static void savePic(Bitmap b, String strFileName) {        FileOutputStream fos = null;        try {            fos = new FileOutputStream(strFileName);            if (null != fos) {                b.compress(Bitmap.CompressFormat.PNG, 90, fos);                fos.flush();                fos.close();            }        } catch (Exception e) {            e.printStackTrace();        }    }}

0 0
原创粉丝点击