/** * Returns a bitmap of a given WebView. * * @param webView the webView to save a bitmap from * @return a bitmap of the given web view * */ private Bitmap getBitmapOfWebView(final WebView webView){ Picture picture = webView.capturePicture(); Bitmap b = Bitmap.createBitmap( picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888); Canvas c = new Canvas(b); picture.draw(c); return b; }
Picture picture = webview.capturePicture();
Picture picture = view.capturePicture(); Bitmap b = Bitmap.createBitmap( picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888);
private void getSnapshot() { Picture picture = webView.capturePicture(); int width = picture.getWidth(); int height = picture.getHeight(); if (width > 0 && height > 0) { Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); picture.draw(canvas); try { String fileName = Environment.getExternalStorageDirectory().getPath()+"/webview_capture1.jpg"; FileOutputStream fos = new FileOutputStream(fileName); //压缩bitmap到输出流中 bitmap.compress(Bitmap.CompressFormat.JPEG, 70, fos); fos.close(); Toast.makeText(WebviewFromCapture.this, "截屏成功", Toast.LENGTH_LONG).show(); bitmap.recycle(); } catch (Exception e) { Log.e(TAG, e.getMessage()); } } }
webview.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { Picture picture = view.capturePicture(); Bitmap b = Bitmap.createBitmap( picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888); Canvas c = new Canvas(b); picture.draw(c); FileOutputStream fos = null; try { fos = new FileOutputStream( "/sdcard/" + "page.jpg" ); if ( fos != null ) { b.compress(Bitmap.CompressFormat.JPEG, 90, fos ); fos.close(); } } catch( Exception e ) { System.out.println("-----error--"+e); } } }); webview.loadUrl("http://stackoverflow.com/questions/15351298/capturing-android-webview-image-and-saving-to-png-jpeg");
webView.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView v, String url) { Picture picture = v.capturePicture(); Bitmap bmp = Bitmap.createBitmap( picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(b); picture.draw(canvas); imgView.setImageBitmap(bmp); }
WebView wv = new WebView(this); wv.loadData("<html><body><p>Hello World</p></body></html>"); Picture p = wv.capturePicture();
/** * Returns a bitmap of a given WebView. * * @param webView the webView to save a bitmap from * @return a bitmap of the given web view * */ private Bitmap getBitmapOfWebView(final WebView webView){ Picture picture = webView.capturePicture(); Bitmap b = Bitmap.createBitmap( picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888); Canvas c = new Canvas(b); picture.draw(c); return b; }
webViewToPrint.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) { Picture picture = view.capturePicture(); Bitmap b = Bitmap.createBitmap( picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888); Canvas c = new Canvas( b ); picture.draw( c ); imageView.setImageBitmap(b); }}
WebView webView = new WebView(this); //your image is in webview Picture picture = webView.capturePicture(); Canvas canvas = new Canvas(); picture.draw(canvas); Bitmap image = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(),Config.ARGB_8888); canvas.drawBitmap(mimage, 0, 0, null); if(image != null) { ByteArrayOutputStream mByteArrayOS = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 90, mByteArrayOS); try { fos = openFileOutput("image.jpg", MODE_WORLD_WRITEABLE); fos.write(mByteArrayOS.toByteArray()); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
Picture p=web.capturePicture(); SharedPreferences prefs=con.getSharedPreferences("File_COUNT", con.MODE_PRIVATE);
w = new WebView(this); w.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) { Picture picture = view.capturePicture(); Bitmap b = Bitmap.createBitmap( picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888); Canvas c = new Canvas( b ); picture.draw( c ); FileOutputStream fos = null; try { fos = new FileOutputStream( "/sdcard/yahoo_" + System.currentTimeMillis() + ".jpg" ); if ( fos != null ) { b.compress(Bitmap.CompressFormat.JPEG, 90, fos ); fos.close(); } } catch( Exception e ) { //... } } });
Picture picture = webView.capturePicture(); Bitmap b = Bitmap.createBitmap(picture.getWidth(),picture.getHeight(), Bitmap.Config.ARGB_8888); Canvas c = new Canvas(b);
@SuppressWarnings("deprecation") public static Bitmap captureWebView(WebView webView) { if (webView == null) return null; Picture snapShot = webView.capturePicture(); Bitmap bmp = Bitmap.createBitmap(snapShot.getWidth(), snapShot.getHeight(), Bitmap.Config.ARGB_8888); Bitmap bg=null; try { Bitmap bgr = ((BitmapDrawable) webView.getBackground()).getBitmap(); bg=Bitmap.createScaledBitmap(bgr, snapShot.getWidth(), snapShot.getHeight(), true); } catch (Exception | OutOfMemoryError e) {bg=null;} Canvas canvas = new Canvas(bmp); if (bg!=null) canvas.drawBitmap(bg,0,0,new Paint()); snapShot.draw(canvas); return bmp; }
Picture picture = w.capturePicture();
Picture picture = view.capturePicture(); Bitmap b = Bitmap.createBitmap( picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888);
w.setWebViewClient(new WebViewClient(){ public void onPageFinished(WebView view, String url){ Picture picture = view.capturePicture(); Bitmap b = Bitmap.createBitmap( picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888);