2

在我的应用程序中有一个 WebView 小部件,它打开一个大页面。如何在 WebView 中捕获页面的可见部分?capturePicture()不适合它...

4

2 回答 2

8
public static Bitmap getBitmapForVisibleRegion(WebView webview) {
    Bitmap returnedBitmap = null;
    webview.setDrawingCacheEnabled(true);
    returnBitmap = Bitmap.createBitmap(webview.getDrawingCache());
    webview.setDrawingCacheEnabled(false);
    return returnedBitmap;
}
于 2013-02-12T06:49:19.007 回答
1

将您的 webView 保存在位图下。然后将位图保存在 SD 卡上。

使用它从 webView 获取您的位图:

public static Bitmap getBitmapFromView(View view) {
        Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(returnedBitmap);
        Drawable bgDrawable = view.getBackground();
        if (bgDrawable!=null) 
            bgDrawable.draw(canvas);
        else 
            canvas.drawColor(Color.TRANSPARENT);
        view.draw(canvas);
        return returnedBitmap;
    }

现在只需将其保存在 SD 上即可

于 2012-11-26T13:26:09.180 回答