我正在尝试在 android/phonegap 应用程序上实现 css3 页面翻转效果。为此,我需要将当前的 webview 动态保存为 png 或 jpeg,以便可以将其加载到页面翻转 html 中的 div 中。我注意到 android 文档中的 Picture 类,但我不确定它是否可以转换和保存。这可以通过JS完成吗?有任何想法吗?
谢谢
尝试使用以下代码捕获 webview 并将 jpg 保存到 sdcard。
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");
将 a 捕获为图像的最简单方法(据我所知)View
是创建一个新的Bitmap和一个新的Canvas。然后,只需要求您WebView
在自己的画布上绘制自己,而不是 Activity 的默认画布。
伪代码:
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