我正在使用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;
非常感谢大家。 一声问候, 索尼娅
答案 0 :(得分:1)
固定。我已经解决了css样式表中的属性,例如:
font-size: 16px;
color: black;
fill: none;
答案 1 :(得分:0)
这里的问题相同。似乎这种转换方法没有获得正文的字体大小。但是,将生成的SVG转储到.svg文件并在浏览器中打开该文件会正确呈现。