2010-07-15 74 views
1

我想創造什麼當前顯示我的應用程序的位圖,有一件事我走進爲着讀FB緩衝需要root,想知道是否有可能創建一個鏡像文件在屏幕上,請我想幫助實現代碼,沒有第三方的意圖,謝謝,答案將是非常讚賞屏幕截圖活動

回答

0

從活動(僞代碼):

Bitmap bm = Bitmap.create... 
Canvas canvas = new Canvas(bm); 
getWindow.getDecorView().draw(canvas); 
0

您可以使用FFMPEG捕捉屏幕

+0

顯然,我沒有發現任何的工作,好像是需要根,如果是這種情況,那麼這就是個無賴! – SoftReference 2010-08-13 04:02:28

0

試試這個.....

{ 
    LinearLayout view = (LinearLayout) findViewById(R.id.imageLayout); 
    View v1 = view.getRootView(); 
    v1.setDrawingCacheEnabled(true); 
    String dir="myimages"; 
    Bitmap bm = v1.getDrawingCache();   
    saveBitmap(bm, dir, "capturedimage"); 
} 
static String saveBitmap(Bitmap bitmap, String dir, String baseName) { 
    try { 
     File sdcard = Environment.getExternalStorageDirectory(); 
     File pictureDir = new File(sdcard, dir); 
     pictureDir.mkdirs(); 
     File f = null; 
     for (int i = 1; i < 200; ++i) { 
      String name = baseName + i + ".png";  
      f = new File(pictureDir, name); 
      if (!f.exists()) { 
       break; 
      } 
     } 
     System.out.println("Image size : "+bitmap.getHeight()); 
     if (!f.exists()) { 
      String name = f.getAbsolutePath(); 
      FileOutputStream fos = new FileOutputStream(name); 
      bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos); 
      System.out.println("After File Size : "+f.length()); 
      fos.flush(); 
      fos.close(); 

      return name; 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
     System.out.println("Exception in saveBitmap: "+e.getMessage()); 
    } finally { 

    } 
    return null; 
} 
+1

而不是隻發佈一段代碼,請*解釋*爲什麼這段代碼解決了問題。沒有解釋,這不是一個答案。 – 2012-11-22 21:18:33