Я пытаюсь нарисовать прямоугольник с пунктиром сильным в SVG с помощью D3, но когда я делаю верхнюю и нижнюю пунктирные линии, размыты. Вот мой код:Обводка на прямоугольнике в D3 размыта
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')
http://jsfiddle.net/sigscotty/9H9PX/
Вот как это выглядит в браузере:
Любой способ получить сверху и снизу хрустящий, глядя, как стороны?
Форма-рендеринга сделал трюк. Благодаря!! –
Я бы не рекомендовал «настроить атрибуты для центрирования линий по центру пикселя», поскольку он будет разваливаться, если масштабируется SVG в целом. А потому, что настройка формы-рендеринга в CSS намного проще ... – AmeliaBR
Моя проблема заключалась в том, что все строки были размыты в IE. Поэтому я поставил перевод (0,5 0,5) на основной SVG и зафиксировал его. Тем не менее, я абсолютно НЕ НЕНАВИСТЬ, что сдвиг 0,5 - это вещь. Это масштабируемая векторная графика для бога. МАСШТАБИРУЕМАЯ. – QueueHammer