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

          取得當(dāng)前屏幕的截圖

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

          取得當(dāng)前屏幕的截圖主要使用了Bitmap 類里的方法,首相取得一個bitmap 然后用取得的bitmap 去繪制一張圖片然后進(jìn)行保存。

          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");
          }
          }

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 沽源县| 鹤壁市| 富民县| 大冶市| 蚌埠市| 新巴尔虎右旗| 吴川市| 文昌市| 保亭| 昌江| 武城县| 田林县| 乡城县| 泾阳县| 涞源县| 宜兰县| 通州区| 黄龙县| 合水县| 大竹县| 芦溪县| 武汉市| 永泰县| 黔东| 郧西县| 安新县| 聂拉木县| 烟台市| 屏南县| 麻阳| 焦作市| 大方县| 铁力市| 资兴市| 宁蒗| 郯城县| 宁津县| 广宁县| 龙川县| 荔浦县| 民权县|