我正在使用此函数将 svg 转换为 jpeg(它包括 canvg):
svgToDataUrl(svg, format = 'jpeg') {
var id = new Date();
var canvasElement = $(`<canvas id="${id}" width="1198px"
height="1694px"></canvas>`).appendTo('#resultsInterface');
let canvas = canvasElement[0];
window.canvg(canvas, svg);
var imgData = canvas.toDataURL(`image/${format}`, 0.98);
canvasElement.remove();
return imgData;
}
先前生成的 SVG 图像中的 SVG 变量。现在,它可以正常工作,但是,如果 SVG 包含带有 base64 格式的 href 的标签:
<image xlink:href="data:image/png;base64,iVBORblablabla..."></image>
结果是空白。我试图检查生成的画布(在它被删除之前)并且很好,但由于某种原因 canvas.toDataURL 在这种情况下似乎不起作用。
有什么线索吗?
谢谢丹尼尔