WebView中页面可见部分的屏幕截图

时间:2012-11-26 13:14:09

标签: android android-webview android-screen

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

2 个答案:

答案 0 :(得分:8)

public static Bitmap getBitmapForVisibleRegion(WebView webview) {
    Bitmap returnedBitmap = null;
    webview.setDrawingCacheEnabled(true);
    returnBitmap = Bitmap.createBitmap(webview.getDrawingCache());
    webview.setDrawingCacheEnabled(false);
    return returnedBitmap;
}

答案 1 :(得分: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上即可完成