Android 實現截屏功能的實例

實現代碼:
public class ScreenShot {
  // 獲取指定Activity的截屏,保存到png文件
  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;
    Log.i("TAG", "" + statusBarHeight);
    // 獲取屏幕長和高
    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, height
        - statusBarHeight);
    view.destroyDrawingCache();
    return b;
  }
  // 保存到sdcard
  private 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 (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
  // 程序入口
  public static void shoot(Activity a) {
    ScreenShot.savePic(ScreenShot.takeScreenShot(a), "sdcard/xx.png");
  }
}
            
                當前標題:Android實現截屏功能的實例-創新互聯
                
                鏈接URL:http://www.yijiale78.com/article44/dodhee.html
            
成都網站建設公司_創新互聯,為您提供網站建設、小程序開發、定制開發、網頁設計公司、網站收錄、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯