我的页面上有一个 svg,需要导出为 png,因此按照此处的建议,我正在使用 canvg。
副本起初似乎工作正常,但随后画布高度开始神秘地增加。
我在做一些明显错误的事情吗?我试过为画布设置各种尺寸,但没有运气。在 IE 和 Chrome 中失败。
这是我的导出功能:
function copytocanvas()
{
var c = document.getElementById('canvas');
c.width = $('#svgChart').width();
c.height = c.width;
c.getContext = document.getElementById('canvas').getContext;
var svg = document.getElementById('svgChart'); // or whatever you call it
var serializer = new XMLSerializer();
var str = serializer.serializeToString(svg);
canvg(c, str);
}
这是一个显示问题的 jsfiddle:http: //jsfiddle.net/LkqTU/4772/
滚动时问题似乎变得更糟!