在我的应用程序中是一个WebView小部件,它打开一个大页面。
如何在WebView中捕获页面的可见部分? capturePicture()
不适合它......
答案 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上即可完成