html2canvas屏幕截图,用于页面的一部分

时间:2012-02-18 03:24:20

标签: jquery html html5 canvas

我尝试使用html2canvas为屏幕的一部分生成屏幕截图,但它会生成整个文档的图像。

我在这里做错了吗? (“graph”是div id)

$("#graph").html2canvas();

另外,如何将生成的图像保存到指定元素以外的其他位置?

1 个答案:

答案 0 :(得分:3)

您可能已经想到了这一点,但您是否尝试使用单引号代码?我使用相同的代码和单引号,它工作正常。

 $('#graph').html2canvas();

关于您的第二个问题,您能否通过将图像保存到其他位置来澄清您的意思?如果我理解你在问什么,假设你正在使用“jquery.plugin.html2canvas.js”,你需要编辑该文件中的“$ canvas.css”行,以指定你想要追加画布对象的位置。

您可以考虑的一个选项是将其附加到正文,但将css设置为“display:none”,以便对象不会一直显示。然后,在css属性之后,您可以放入自己的函数来操作画布对象。

$canvas.css({width: '500px', height: '500px', display:'none'}).appendTo(document.body);
$canvas.attr('id', 'canvasObj');
manipulateCanvasFunction(document.getElementById('canvasObj'));

这会将完整的canvas对象发送到“manipulateCanvasFunction”,您可以使用canvas对象执行任何操作。

您可以查看this问题主题以获取其他一些想法。