Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我指定1px时,为什么SVG线模糊或高度为2px?_Svg - Fatal编程技术网

当我指定1px时,为什么SVG线模糊或高度为2px?

当我指定1px时,为什么SVG线模糊或高度为2px?,svg,Svg,我正在用SVG创建一条线,它在我的网页上看起来很模糊。更清楚地说,它似乎大于1px的笔划宽度。为什么会发生这种情况?有没有办法在SVG中修复这种情况 这是代码。当我独自运行这段代码时,它并不模糊。当它出现在我的网页上时,线条的高度似乎是2倍,而不是1倍 #水平线1178{ 中风:rgb(154); 笔画宽度:1; } 因为当其Y坐标位于整个像素上时,1px笔划在其周围,因此“抗锯齿”(参考Paul LeBeau的)。在这种情况下,使用半像素坐标,或应用该坐标将为您进行像素舍入,但即使在舍入的对

我正在用SVG创建一条线,它在我的网页上看起来很模糊。更清楚地说,它似乎大于1px的笔划宽度。为什么会发生这种情况?有没有办法在SVG中修复这种情况

这是代码。当我独自运行这段代码时,它并不模糊。当它出现在我的网页上时,线条的高度似乎是2倍,而不是1倍

#水平线1178{
中风:rgb(154);
笔画宽度:1;
}

因为当其Y坐标位于整个像素上时,
1px
笔划在其周围,因此“抗锯齿”(参考Paul LeBeau的)。在这种情况下,使用半像素坐标,或应用该坐标将为您进行像素舍入,但即使在舍入的对象上也会产生锐利的边缘:


.0
5.
.0以上
.0
5.
.0以上
.0
.0以上
5.
.0+填充,无冲程
.5+填充,无冲程

@PaulLeBeau的可能副本我已经更新了帖子。myf的回答中包含了其他帖子中没有的新的附加信息。为了在适当的时候给予表扬,Pauls在回答中也提到了这一点;当时我甚至有可能从他那里学到:伟大的榜样。因此,如果我提前知道笔划高度为1px(水平线),垂直位置为奇数,“81”不是“80”,那么我应该将y位置更改为“81.5”,以保持线高度为1px?没有看到您的更新。CrispEdge设置看起来很棒。你为什么把线放在没有填充的地方?默认情况下它们有填充吗?不是奇数/偶数:对于笔划,请记住它们是围绕连接给定坐标的线渲染的,并且整个坐标表示像素边界。参见Paul在链接问题中的回答,它更好地描述了它。Ad
fill
for line:不,只是将其撞到选择器中以影响
rect
s。否则,全像素坐标适用于无频闪填充形状(参见示例中的最后一个正方形)。如果你像我一样喜欢这个答案,但你在对自己说,“嘿,在我的SVG中肯定有很多额外的字符,我正在努力让事情变得小一些!“--然后试着在打开
标记之后放置此标签,并记住在
之前关闭它:
。这样对每个对象都有效,并且真正改进了我的工作。