发出Textpath svg到png

时间:2014-09-11 11:15:23

标签: javascript svg export png

我正在使用SVG图形导出(使用d3.js库)到PNG。问题是标签textPath。导出到PNG时,文本不会出现。有谁知道这个问题是否有解决方案?

我用来进行转换的代码是:

var svgString = new XMLSerializer().serializeToString(document.querySelector('#svg'));

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

var DOMURL = self.URL || self.webkitURL || self;
var img = new Image();
var svg = new Blob([svgString], {type: "image/svg+xml;charset=utf-8"});
var url = DOMURL.createObjectURL(svg);

img.onload = function() {
    ctx.drawImage(img, 0, 0);
    var png = canvas.toDataURL("image/png");
    var a = document.createElement("a");
    a.download = "grafico.png";
    a.href = png;
    a.click();
    DOMURL.revokeObjectURL(png);
};
img.src = url;

非常感谢大家。 一声问候, 索尼娅

2 个答案:

答案 0 :(得分:1)

固定。我已经解决了css样式表中的属性,例如:

font-size: 16px;
color: black;
fill: none;

答案 1 :(得分:0)

这里的问题相同。似乎这种转换方法没有获得正文的字体大小。但是,将生成的SVG转储到.svg文件并在浏览器中打开该文件会正确呈现。