javascript - 将 svg 附加到背景图像中

标签 javascript css svg d3.js

如何将动态生成的 svg 分配给 div 的背景图像?

我用d3生成词云。这会将 svg 标签附加到 <div>

 d3.select("#_wordcloud_element").append("svg")
                        .attr("width", scope.width )
                        .attr("height", scope.height)
                        .append("g")
                        .attr("transform", "translate("+scope.width/2+","+scope.height/2+")")
                        .selectAll("text")
                        .data(words)
                        .enter().append("text")
                        .style("font-size", function (d) {
                            return d.size + "px";
                        })
                        .style("font-family", "Arial")
                        .style("fill", function (d, i) {
                            return fill(i);
                        })
                        .attr("text-anchor", "middle")
                        .attr("transform", function (d) {
                            return "translate(" + [d.x, d.y] + ")rotate(" + d.rotate + ")";
                        })
                        .text(function (d) {
                            return d.text;
                        });

我不想将 svg 附加到 div,而是希望 svg 成为 .我不知道该怎么做。

编辑

我的函数的示例 SVG 输出:

svg width="500" height="400"><g transform="translate(250,200)"><text text-anchor="middle" transform="translate(22,-70)rotate(90)" style="font-size: 42px; font-family: Arial; fill: rgb(31, 119, 180);">Environment</text><text text-anchor="middle" transform="translate(-73,-27)rotate(90)" style="font-size: 37px; font-family: Arial; fill: rgb(174, 199, 232);">Technology Internet</text><text text-anchor="middle" transform="translate(85,41)rotate(90)" style="font-size: 35px; font-family: Arial; fill: rgb(255, 127, 14);">Biology</text><text text-anchor="middle" transform="translate(-12,6)rotate(90)" style="font-size: 35px; font-family: Arial; fill: rgb(255, 187, 120);">Systems</text><text text-anchor="middle" transform="translate(-128,-93)rotate(0)" style="font-size: 34px; font-family: Arial; fill: rgb(44, 160, 44);">Movies</text><text text-anchor="middle" ...

最佳答案

使用XMLSerializer将内容序列化为字符串,然后创建一个 data uri作为背景图片。

关于javascript - 将 svg 附加到背景图像中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26363258/

相关文章:

javascript - 如何动态添加必需的输入元素?

javascript - 类似于 Google Developers 的 Bootstrap 搜索框

html - 以响应大小垂直扩展背景

c++ - 如何在 c++/winrt UWP 应用程序中使用 SVG 图像?

javascript - 从浏览器使用 Dropbox v2 API

javascript - 是否可以从单独的 html 页面单击 html 页面上的按钮?

css - 相同的浏览器。相同的 Windows 版本。款式相同。不同的字体渲染

html - 通过 css 在 Wordpress 中拆分菜单并重新排序右侧部分

javascript - 将 id 添加到 <circle> 标签不起作用

javascript - 异步加载的 SVG-Filter feColorMatrix 在 Chrome 中工作,而不是在 Safari 或 Firefox 中工作