Как исправить проблему, когда элемент svg не рендерится в изображение (dom2img) - PullRequest
0 голосов
/ 22 апреля 2019

Я использую 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 должен отобразить элемент легенды.

1 Ответ

1 голос
/ 23 апреля 2019

Вместо этого используйте встроенную функцию экспорта 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, как показано выше.Подробнее о включая внешнюю легенду в экспорте .

...