[英]why google maps and charts are not supported by html2canvas in javascript?
我用html2canvas通过以下方法做屏幕截图:
makeScreenshot: function (button) {
html2canvas(document.body, {
onrendered: function(canvas) {
new Ext.Window({
title: 'Screenshot',
width: 800,
height: 600,
resizable: true,
autoScroll: true,
preventBodyReset: true,
html: '<img src="' + canvas.toDataURL("image/png") + '" height="800"/>'
}).show();
}
});
}
获取此屏幕截图(在图像左侧对话框/名为Screeshot的窗口上)
如您所见,不会生成Google地图,而只是生成圆圈。 屏幕截图中也没有图表。 怎么了?
添加useCORS:true将解决此问题。
makeScreenshot: function (button) {
html2canvas(document.body, {
useCORS: true,
onrendered: function(canvas) {
new Ext.Window({
title: 'Screenshot',
width: 800,
height: 600,
resizable: true,
autoScroll: true,
preventBodyReset: true,
html: '<img src="' + canvas.toDataURL("image/png") + '" height="800"/>'
}).show();
}
});
}
对于Google图表,我整夜都在寻找解决方案,最后它是如此简单:在调用html2canvas之前,使用canvg()将呈现的图表转换为canvas。 Google的图表是svg。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.