2013-03-12 127 views
3

我试图在android/phonegap应用上实现css3页面翻转效果。为此,我需要将当前的webview动态保存为png或jpeg,以便可以将其加载到页面中的div中。我注意到Android的文档中的图片类,但我不确定是否可以转换和保存。这可以通过JS完成吗?有任何想法吗?捕获android的webview图像并保存为png/jpeg

感谢

回答

0

最简单的方法(据我所知)捕获View作为图像是创建一个新的Bitmap和新Canvas。然后,只需要您的WebView在您自己的画布上绘制自己,而不是活动的默认画布。

伪代码:下面的代码

Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(bitmap); 
myWebView.draw(canvas); 
//save your bitmap, do whatever you need 
+0

好吧,我会给你一个镜头。你知道我可以在JavaScript中实现吗?会写一个java类,并使用appView.addJavascriptInterface()的工作? – user1776524 2013-03-12 00:59:48

+0

准确地说,您需要回拨到Java土地才能完成此项任务。 – wsanville 2013-03-12 01:00:47

5

尝试拍摄的WebView并保存JPG到SD卡。

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"); 
相关问题