android Tencent x5webview截长图

开发中遇到一个问题,截取屏幕作为一张图片保存下来,测试的时候用的是大屏手机,一屏就能把内容全部显示出来,但是用户使用的是小屏手机,保存图片之后发现屏幕外的内容截取不到,然后就是一顿百度
参考链接:WebView截取长图
这种方式虽然可以截取长图,但是保存之后的图片会变得模糊,不建议使用

还有另外一种方式也可以做参考:webView及ScrollView长截图
但是这是方式适合原生的webview截图,不适合x5内核的webview截图

不啰嗦了,直接上解决方式(源码)

private Bitmap captureWebView(WebView webView) {

int wholeWidth = webView.computeHorizontalScrollRange();
int wholeHeight = webView.computeVerticalScrollRange();
Bitmap x5bitmap = Bitmap.createBitmap(wholeWidth , wholeHeight, Bitmap.Config.ARGB_8888);

Canvas x5canvas = new Canvas(x5bitmap);
x5canvas.scale((float) wholeWidth / (float) webView.getContentWidth(), (float) wholeHeight / (float)webView.getContentHeight());
if ( webView.getX5WebViewExtension() == null) {
return null;
}

webView.getX5WebViewExtension().snapshotWholePage(x5canvas, false, false);
return x5bitmap;
//保存自己实现吧
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值