我有一個webview,我想變成我的應用程序的另一部分的位圖。從Webview創建帶有內容的屏幕的位圖Android
目前,我可以獲取將在屏幕上呈現的webview部分的位圖,但是我的位圖需要包含頁面的所有內容。
將webview的layoutParams設置爲更大尺寸會導致原始圖像加載到更大的畫布上。
這是我目前的執行:
FrameLayout.LayoutParams tempParams= new FrameLayout.LayoutParams(2000,4000);
_webView.setLayoutParams(tempParams);
_webView.layout(0,0,2000,4000);
int width = _webView.getWidth();
int height = _webView.getHeight();
_webView.postDelayed(new Runnable() {
@Override
public void run() {
Bitmap bitmap = Bitmap.createBitmap(_webView.getWidth(), _webView.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
_webView.draw(canvas);
}
},100);
我一直遵守以下的教程和他們似乎並沒有解決我的問題。
Rendering Android webview to bitmap, html5 javascript , callback issue
Generate bitmap from HTML in Android
我想使用一個PictureListener和capturePicture(),但那些已過時。
感謝您的迴應!我應該在哪裏將WebView高度設置爲wrap_contents?我目前使用的是我沒有設計的自定義WebView,因此一旦我完成了我的圖像,WebView的屬性需要被恢復。 – Matt
在您將要加載內容之前,肯定會有。與您已經使用的代碼相同,只需使用「WRAP_CONTENT」常量而不是特定的高度值。 –
這似乎不適用於我。我仍然會看到已經顯示在設備上的webview部分,而不是整個網頁。不過謝謝。 – Matt