【发布时间】:2015-07-10 15:28:53
【问题描述】:
我有一个 web 视图,我想将其转换为应用程序另一部分的位图。
目前,我可以获得将在屏幕上呈现的 web 视图部分的位图,但是我的位图需要包含页面的所有内容。
将 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(),但它们已被弃用。
【问题讨论】: