gpt4 book ai didi

android - 如何在Android中截取webview的屏幕截图

转载 作者:搜寻专家 更新时间:2023-11-01 08:51:19 27 4
gpt4 key购买 nike

我在 webview 的 html5 canvas 上画了一些线,并尝试使用下面的代码截取 webview 的屏幕截图...

WebView webView = (WebView) findViewById(R.id.webview);
webView.setDrawingCacheEnabled(true);
Bitmap screenshot = Bitmap.createBitmap(webView.getDrawingCache());
webView.setDrawingCacheEnabled(false);
File myFile = new File(Environment.getExternalStorageDirectory().getPath()+ "/myfolder");
if(!myFile.exists()) {
myFile.mkdir();
}
imagePath = myFile.getAbsolutePath() + "/myimage001.png";
FileOutputStream fos = null;
try {
fos = new FileOutputStream(imagePath);
if ( fos != null ) {
screenshot.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.close();
}
} catch( Exception e ) {
e.printStackTrace();
}

但是当我打开那张图片时,它看起来是空的。请帮忙。

最佳答案

如下操作

private void TakeScreenshot()
{
Picture picture = webview.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( "mnt/sdcard/yahoo.jpg" );
if ( fos != null )
{
b.compress(Bitmap.CompressFormat.JPEG, 100, fos);

fos.close();
}
}
catch( Exception e )
{

}
}

注意:在 WebView 完成加载后截取屏幕截图,否则您将看到一个空白屏幕。

关于android - 如何在Android中截取webview的屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23132812/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com