2012-01-12 49 views
0

我試圖捕獲WebView組件的圖像,因爲它顯示的是網頁。Android webview.capturePicture總是相同的寬度

爲什麼總寬度800:

Picture screenie = webview.capturePicture(); 
Log.d(TAG, "W: " + screenie.getWidth() + " H: " + screenie.getHeight()); 
// 800 x 1200 

我已經改變了AVD分辨率達到了480種多種組合。我也使用了不同的內置皮膚。我錯過了什麼嗎?

我還使用:

webview.getSettings().setLoadWithOverviewMode(true); 
webview.getSettings().setUseWideViewPort(true); 

回答

1

你可以試試這樣: int imageWidth,imageHeight;

Bitmap result = Bitmap.createScaledBitmap(bitmapPicture, 
         imageWidth, imageHeight, false); 

在這裏,你可以添加自己的寬度和高度。 bitmapPicture是Bitmap的對象。

讓我知道,如果這對你有任何幫助。

+0

謝謝你,我最終這樣做,它的工作! – Abs 2012-01-24 19:20:40

0

capturePicture捕獲的觀點,而不是屏幕的當前內容。正如文檔所說,它返回「一張包含視圖當前內容的圖片,注意這張圖片是整個文檔,並不侷限於視圖的邊界。」

+0

所以你說沒有辦法設置寬度或以某種方式限制它?無論內容寬度如何,它總是會給我一個寬度? – Abs 2012-01-17 13:52:44

+0

我在說capturePicture總是捕獲整個視圖 - 視圖是底層WebView內容,而不是顯示。如果你還沒有玩過視圖的大小,你會得到整個視圖/內容。可能有更改視圖大小的方法,但我不知道它們是什麼。檢查出http://stackoverflow.com/questions/3808532/how-to-set-the-initial-zoom-width-for-a-webview或搜索。 – Torid 2012-01-18 17:41:52