D3中的矩形描边模糊

Sco*_*ger 4 svg d3.js

我正在尝试使用D3在SVG中绘制一个带有虚线强的矩形但是当我这样做时,顶部和底部的虚线是模糊的.这是我的代码:

var width = 400,
        height = 400;

var svg = d3.select('body')
        .append('svg')
            .attr('width', width)
            .attr('height', height)
        .append('g')
            .attr('transform', 'translate('+height/2+','+width/2+')');

svg.append('rect')
    .attr('width', '185')
    .attr('height', '45')
    .attr('x', -height/2+185/2)
    .attr('y', -width/2+10)
    .attr('fill', 'rgba(0,0,0,0)')
    .attr('stroke', '#2378ae')
    .attr('stroke-dasharray', '10,5')
    .attr('stroke-linecap', 'butt')
    .attr('stroke-width', '3')
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/sigscotty/9H9PX/

以下是浏览器中的内容:

在此输入图像描述

任何方式让顶部和底部看起来像两侧?

Rob*_*son 9

形状渲染可能就是你想要的.shape-rendering="crispEdges"应该为你的情况做.或者,您可以调整y和height属性,使顶部和底部位置为+ 0.5.

  • 我的问题是 IE 中的所有线条都很模糊。所以我在主 SVG 上放了一个 translate(0.5 0.5) 并修复了它。也就是说,我绝对讨厌 0.5 的转变是一回事。看在上帝的份上,它们是可缩放的矢量图形。可扩展。 (2认同)