1

我对 webview 内容大小有一些问题。我需要将整个网页转换为单个图像并尝试了此代码

Bitmap screenshot;                  
screenshot = Bitmap.createBitmap(view.getWidth(), view.getContentHeight(), Bitmap.Config.ARGB_8888);
final Canvas c =new Canvas(screenshot);
view.draw(c);

其中“视图”是一个 WebView 对象

但结果是具有 1024x769 像素的图像。我的网页相当大(高度约为 2000 像素)。我尝试了不同的方法来解决这个问题,但仍然是零回报。

4

2 回答 2

1

我找到解决方案。

如果你有同样的问题,你可以添加 onPicture Listener 到你的 webview,像这样

web.setPictureListener(new WebView.PictureListener() {

        public void onNewPicture(WebView view, Picture picture) {
            float temp = (float) view.getHeight();
            height = view.getContentHeight() * a;
        }

    });

得到所有你需要的高度和宽度

于 2012-10-29T12:33:03.480 回答
0

要拍摄 webview 的照片,您必须启用缓存,并且从缓存中您可以将其作为位图获取,下面我提到的代码希望对您有用-

    webview.setDrawingCacheEnabled(true);
    Bitmap bitmap = Bitmap.createBitmap(webview.getDrawingCache());
    webview.setDrawingCacheEnabled(false);

它对我有用,只需检查您的身边,将等待您接受答案。谢谢

于 2012-10-29T11:39:11.850 回答