List of usage examples for android.webkit WebView buildDrawingCache
@Deprecated public void buildDrawingCache()
Calling this method is equivalent to calling buildDrawingCache(false)
.
From source file:Main.java
public static Bitmap getWebViewShopshat(WebView webView) { webView.setDrawingCacheEnabled(true); webView.buildDrawingCache(); Picture snapShot = webView.capturePicture(); Bitmap bitmap = Bitmap.createBitmap(snapShot.getWidth(), snapShot.getHeight(), Bitmap.Config.ARGB_8888); //bitmap.eraseColor(Color.WHITE); Canvas c = new Canvas(bitmap); int state = c.save(); webView.draw(c);//w w w . j av a 2 s .com //c.restoreToCount(state); c.restore(); webView.destroyDrawingCache(); return bitmap; }
From source file:net.gsantner.opoc.util.ShareUtil.java
/** * Create a picture out of {@link WebView}'s whole content * * @param webView The WebView to get contents from * @return A {@link Bitmap} or null/* w w w. ja va 2 s .c o m*/ */ @Nullable public static Bitmap getBitmapFromWebView(WebView webView) { try { //Measure WebView's content int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); webView.measure(widthMeasureSpec, heightMeasureSpec); webView.layout(0, 0, webView.getMeasuredWidth(), webView.getMeasuredHeight()); //Build drawing cache and store its size webView.buildDrawingCache(); int measuredWidth = webView.getMeasuredWidth(); int measuredHeight = webView.getMeasuredHeight(); //Creates the bitmap and draw WebView's content on in Bitmap bitmap = Bitmap.createBitmap(measuredWidth, measuredHeight, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); canvas.drawBitmap(bitmap, 0, bitmap.getHeight(), new Paint()); webView.draw(canvas); webView.destroyDrawingCache(); return bitmap; } catch (Exception | OutOfMemoryError e) { e.printStackTrace(); return null; } }