您现在所在的是:

电脑编程

回帖:0个,阅读:537 [上一页] [1] [下一页]
8164
shotgun
文章数:1453
年度积分:50
历史总积分:8164
注册时间:2007/9/19
发站内信
发表于:2013/12/26 16:51:54
#0楼

   package net.canking.shottest;
    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是你需要截图的View
           View 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);
       }
   }
转自:http://blog.csdn.net/chang_xing/article/details/17583623
此帖来自中华工控网工控博客
原文件地址:http://blog.gkong.com/more.asp?id=178977&Name=shotgun

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002