posts - 33, comments - 0, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          取得當前屏幕的截圖

          Posted on 2011-08-18 17:00 馬航 閱讀(257) 評論(0)  編輯  收藏

          取得當前屏幕的截圖主要使用了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");
          }
          }

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 葵青区| 从江县| 宁安市| 白河县| 张家港市| 宜兰县| 长兴县| 福鼎市| 雅安市| 墨江| 临潭县| 离岛区| 大理市| 龙州县| 剑阁县| 儋州市| 寿光市| 清水河县| 通河县| 探索| 罗江县| 兴国县| 乌拉特前旗| 留坝县| 呼玛县| 瑞丽市| 永安市| 什邡市| 左云县| 枣阳市| 陇西县| 法库县| 沾益县| 台中市| 射阳县| 赣榆县| 宿州市| 永春县| 穆棱市| 广平县| 江城|