如何解决svg元素无法渲染到图像的问题(dom2img)

问题描述 投票:0回答:1

我正在使用amcharts4来构建热图,然后通过dom2img我将其转换为图像。一切都很好,地图本身被渲染,但传说不是用dom2img捕获的。传说本身就是一个svg元素。

我想也许它与渐变有关,因为它是唯一的元素。

svg元素:

<g fill-opacity="1" fill="url(&quot;http://localhost:4200/campaigns/pptx/2#gradient-id-257&quot;)" style="pointer-events: none;"><path d="M0,0 L455,0 a0,0 0 0 1 0,0 L455,20 a0,0 0 0 1 -0,0 L0,20 a0,0 0 0 1 -0,-0 L0,0 a0,0 0 0 1 0,-0 Z"></path></g> 

Dom2img应该渲染图例元素。

javascript svg html2canvas amcharts4
1个回答
1
投票

请改用amCharts内置导出功能:https://www.amcharts.com/docs/v4/concepts/exporting/

// First enable export
chart.exporting.menu = new am4core.ExportMenu();

chart.exporting.extraSprites.push({
    "sprite": legendContainer,
    "position": "bottom",
    "marginTop": 20
});

// Then you can get the Base64 image
var imgData = chart.exporting.getImage("png");

您还可以使用extraSprites包含图例,如上所示。了解更多关于including external legend in export的信息。

© www.soinside.com 2019 - 2024. All rights reserved.