首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

获得当前屏幕的截图

2012-08-15 
取得当前屏幕的截图文章出处:http://gundumw100.iteye.com/blog/1104772?取得当前屏幕的截图主要使用了Bit

取得当前屏幕的截图

文章出处:http://gundumw100.iteye.com/blog/1104772

?

取得当前屏幕的截图主要使用了Bitmap 类里的方法,首相取得一个bitmap 然后用取得的bitmap 去绘制一张图片然后进行保存。

?

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.os.Environment;  import android.util.Log;  import android.view.View;  public class ShotScreen {            private static final String TAG="shotscreen";      @SuppressWarnings("unused")      private static Bitmap takeScreenShot(Activity activity){          View view =activity.getWindow().getDecorView();          view.setDrawingCacheEnabled(true);          view.buildDrawingCache();          Bitmap bitmap = view.getDrawingCache();          Rect rect = new Rect();          activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);          int statusBarHeight = rect.top;          System.out.println(statusBarHeight);                    int width =activity.getWindowManager().getDefaultDisplay().getWidth();          int height =activity.getWindowManager().getDefaultDisplay().getHeight();                    Bitmap bitmap2 = Bitmap.createBitmap(bitmap,0,statusBarHeight, width, height - statusBarHeight);          view.destroyDrawingCache();          return bitmap2;      }            @SuppressWarnings("unused")      private static void savePic(Bitmap bitmap,String filename){          FileOutputStream fileOutputStream = null;          try {              fileOutputStream = new FileOutputStream(filename);              if (fileOutputStream != null) {                  bitmap.compress(Bitmap.CompressFormat.PNG, 90, fileOutputStream);                  fileOutputStream.flush();                  fileOutputStream.close();              }          } catch (FileNotFoundException e) {              Log.d(TAG, "Exception:FileNotFoundException");              e.printStackTrace();          } catch (IOException e) {              Log.d(TAG, "IOException:IOException");              e.printStackTrace();          }      }                  /**      *       * @param a      */      public static void shoot(Activity a){          if (android.os.Environment.MEDIA_MOUNTED != "mounted") {              ShotScreen.savePic(ShotScreen.takeScreenShot(a), "/sdcard/抽样.png");             }else{              ShotScreen.savePic(ShotScreen.takeScreenShot(a), "/data/data/"+a.getPackageName()+"/抽样.png");          }      }     
?

热点排行