详细问题描述

[内容]

Android上使用webview的draw方法截图无法截取到canvas内容,而在ios上可以

重现步骤

[步骤]

在Android上使用webview的draw方法截取带有canvas内容的页面

[结果]

截图中没有canvas内容

运行环境

[系统版本]

小米pad Android 5.1

zuk z2 Android 7.1

[IDE版本]

HBuilder 8.8.0.201706142254

#canvas {

width: 100%;

height: 100%;

position: absolute;

left: 0;

top: 0;

z-index: 2;

}

#draw {

position: absolute;

z-index: 3;

}

点击截图

var c = document.getElementById("canvas");

c.width = window.innerWidth;

c.height = window.innerHeight;

var ctx = c.getContext("2d");

ctx.strokeStyle = "red";

ctx.strokeRect(20, 60, 300, 200);

document.addEventListener('plusready', function() {

var btn = document.getElementById('draw');

btn.addEventListener('click', function() {

var cw = plus.webview.currentWebview();

var bitmap = new plus.nativeObj.Bitmap();

cw.draw(bitmap, function(e) {

bitmap.save('_doc/save.jpg', {

overwrite: true

}, function(e) {

plus.runtime.openFile(e.target, {}, function(e) {

console.log("打开文件失败");

});

}, function(e) {

console.log("保存图片失败");

})

}, function(e) {

console.log("截图失败");

});

});

});

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐