在我的应用程序中有一个WebView小部件,它打开了一个大页面。如何在 WebView 中捕获页面的可见部分? capturePicture()
不适合它...
public static Bitmap getBitmapForVisibleRegion(WebView webview) {
Bitmap returnedBitmap = null;
webview.setDrawingCacheEnabled(true);
returnBitmap = Bitmap.createBitmap(webview.getDrawingCache());
webview.setDrawingCacheEnabled(false);
return returnedBitmap;
}
在位图下保存您的 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上即可完成