如何将位图嵌入D3js生​​成的SVG代码?

在访问合适的topojson和bitmaps的情况下,我使用topoJSON文件通过D3js生​​成SVG viz。 然后我通过以下方法将位图附加到它:

// Append bitmap svg.append("image") .attr("xlink:href", "./myimage.png") .attr("width", width) .attr("height", height) .attr("class", "bg"); 

但这实际上只是添加了一个图像链接。 此外,当我选择dataviz DOM并将其保存为SVG时,我没有位图二进制文件,只有位图的链接。

是否有可能,以及如何通过D3js或javascript将我的.png二进制文件真正嵌入到我的SVG DOM中?

在此处输入图像描述

另请参阅: https : //rugger-demast.codio.io/front/_location_map-en-wikiatlas.html ,您可以尝试下载SVG。

此示例显示如何将图像绘制到canvas元素并使用.toDataURL函数将此canvas的快照转换为字符串,然后可将其用作xlink:href属性:

http://bl.ocks.org/emeeks/707681f1f5b4a2063d6e