我在我的页面上有一个svg,我需要导出到一个PNG,所以按照建议here,我使用了canvg。将SVG复制到画布上后神秘的增长
该副本似乎在第一时间正常工作,但随后画布高度开始神秘地增加。
我在做什么明显错误?我试过为画布设置各种尺寸,但没有运气。在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/
这个问题似乎滚动时变得更糟!
看起来像canvg是,出于某种原因,调整画布的大小,无论何时移动鼠标。 'canvg(c,str,{ignoreMouse:true});'停止画布不断调整大小,但画布仍然过大。 – Shmiddty