我正在使用一个名为 html2canvas 的插件将页面上的一些 html 转换为 canvas 元素。然后我想将该画布保存为图像。不幸的是我一直遇到标题中的错误。我尝试过使用不同的变量名、不同的 html 等。但不断遇到相同的错误。这是我的代码(通过单击按钮触发):
JS
function generate(){
html2canvas($('#b2_1'), {
onrendered: function(canvas) {
canvas.setAttribute("id", "canvas");
document.body.appendChild(canvas);
}
});//this all works, the canvas appears as expected
var myCanvas = $(document).find('#canvas');
myCanvas.css("margin-left", "50px");//this was to test I was selecting the right element, the canvas moves
var myImg = myCanvas.toDataURL();//code breaks here
}
好吧,我发现我的问题是我试图打电话toDataURL()
在我的 jQuery 对象而不是我的画布元素上。为了解决这个问题,我使用了.get(0)
。完整代码如下:
function generate(){
html2canvas($('#b2_1'), {
onrendered: function(canvas) {
canvas.setAttribute("id", "canvas");
document.body.appendChild(canvas);
}
});//this all works, the canvas appears as expected
var myCanvas = $(document).find('#canvas');
myCanvas.css("margin-left", "50px");
var myImg = myCanvas.get(0).toDataURL();//have to get the canvas element from the jquery object
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)