我有一个显示图表的画布,我正在尝试使用以下代码使用html2canvas()对画布进行截屏:
<div class="chartContainer" id="chart1"></div>
<div id="displayCanvas" style="display:none;" class="stx-dialog"></div>
html2canvas($('#chart1'),{onrendered:function(canvas1)
{$('#displayCanvas').append(canvas1)}});
当图表容器被加载时,它使用id为"displayCanvas"的div并追加canvas的截图。
我怎样才能下载显示出来的canvas截图呢?我已经尝试使用以下内容下载图片:
var link = document.createElement('a');
link.download = stx.chart.symbol+".png";
link.href = stx.chart.canvas.toDataURL("png");
link.click();
但它只会将画布上的数据作为图像下载,而不包括背景(它不会下载屏幕截图,只下载数据),当下载后打开时,会显示一个带有数据的黑色屏幕。有人能帮我直接从html2Canvas()中获取屏幕截图并下载图像吗?
document.querySelector('#capture')
更改为document.querySelector('body')
。然后它就可以捕获整个页面了。有了这部分,你可以选择想要捕获的任何部分。在这里查看 JSFiddle 示例:https://jsfiddle.net/Ludolfyn/dzvb4q7y/47/ - Ludolfyn