我正在尝试截图包含完整日历的div的视图,但无法这样做。我尝试过以下代码:
function screenshot(){
alert('zz'); html2canvas(document.querySelector('#calendar')).then(function(canvas) {
document.body.appendChild(canvas);
console.log(canvas.toDataURL());
});
}
每当我点击屏幕截图时,我想要捕获div#calendar
的图像,并需要控制url,以便稍后在社交媒体中分享此页面链接时可以使用此图像作为缩略图。
你可以在Codepen上点击这里查看
发布于 2019-07-03 16:18:19
您可以使用下面的函数通过html2canvas获取图像。
function screenshot(){
console.log(html2canvas(document.querySelector('#calendar')))
html2canvas(document.querySelector('#calendar'), {
onrendered: function(canvas) {
var image = canvas.toDataURL("image/png");
console.log("image => ",image); //image in base64
var pHtml = "<img src="+image+" />";
$("#parent").append(pHtml); //you can append image tag anywhere
}
});
}
发布于 2021-03-10 19:40:53
代码运行良好,只需按照Ravi的建议将base64添加到img标记的src中即可。如果您将在console.log中生成的base64粘贴到base64到图像转换工具中,您将看到图像正在渲染。
删除"data: image /png; base64,“部分,然后将剩余的base64代码粘贴到https://www.ipvoid.com/base64-to-png/等在线工具中,并提交表单以查看生成的图像。
https://stackoverflow.com/questions/56873707
复制相似问题