javascript - D3 : SVG Background: Blurry

标签 javascript d3.js

又一个脚本菜鸟在玩火:)

我有一个 SVG,我在其中附加了一个矩形。 该矩形有一个背景图像,该图像出现但很模糊(奇怪的是,在 IE 中比 Chrome 中更模糊)。

我尝试过不同的图像类型,但遇到了同样的问题。

知道如何防止图像模糊吗?

下面附有代码 - 我的 fiddle :- http://jsfiddle.net/FarinU/22jcj3vc/

        var spaceWidth = 600;
        var spaceHeight = 300;

        var myContainer = d3.select('#abc1')
            .append('svg')
            .attr('class', 'box')
            .attr('width', spaceWidth)
            .attr('height', spaceHeight);

        var pattern = myContainer.append("defs")
            .append("pattern")
            .attr("id", "bg")
            .attr("patternUnits", "userSpaceOnUser")
            .attr('width', "200px")
            .attr('height', "200px")
            .append("image")
            .attr("xlink:href", "http://www.bbc.co.uk/commissioning/images/img-bbc-one-logo-small.gif")
            .attr('width', "200px")
            .attr('height', "200px");

        var rectangle = myContainer.selectAll("rectangle")
            .data([{   }])
            .enter()
            .append('svg:rect')
            .attr("x", 10)
            .attr("y", 10)
            .attr("width", 300)
            .attr("height", 200)
            .style("fill", "url(#bg)")
            .style("stroke", "green")
            .style("stroke-width", "5");

谢谢。

最佳答案

您有一个拼写错误:它应该是“userSpaceOnUse”而不是“userSpaceOnUser”:

.attr("patternUnits", "userSpaceOnUse") // <---- delete last "r"

参见updated fiddle here .

请注意,您用于图案的图像只有 112 x 63 像素,而您将其拉伸(stretch)到 300 x 200 像素。结果,它看起来仍然有点模糊。如果将其缩小到 112 x 63 像素,它将变得非常清晰。

关于javascript - D3 : SVG Background: Blurry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27449360/

相关文章:

javascript - 如何将当前日期作为值插入输入表单字段中

javascript - 如何让它在JavaScript中刷新而不影响HTML?

javascript - 为什么 'self' 在原型(prototype)的成员函数中可用?

javascript - ZingChart 不支持 wordcloud 图表(标签图表)中的 utf 字符

javascript - d3.extent() 在 d3js 执行中被跳过

javascript - Canvas 网络的工具提示

javascript - 单个页面上的多个分页和增量值(Javascript)

php - Javascript 确认删除 - 如果没有不提交表单?代码点火器

javascript - d3js 在每个轴的末尾显示箭头

json - 在 d3.js 中嵌入 json 文件