2015-12-11 22 views
5

私はSVGでラインを作成していますが、私のウェブページにはぼやけて見えます。より明確にするには、1pxのストローク幅よりも大きく表示されます。なぜこれが起こっていて、それをSVGで修正する方法がありますか?ここで1pxを指定したときにSVG線がぼやけているか、高さが2pxですか?

はコードです。このコードを単独で実行すると、ぼやけていません。それは私のWebページにありますと、そのYが画素全体に嘘を調整する際に、1pxストロークは、このようにその周りにあるとあるのでラインの高さは2ピクセルではなく、1

#HorizontalLine1178 { 
 
\t stroke:rgb(154,154,154); 
 
\t stroke-width:1; 
 
}
<svg style="width:100%;"> 
 
    <line id="HorizontalLine1178" y2="97" y1="97" x2="100%" x1="62" > 
 
</svg>

+1

可能な重複svg rectangles](http://stackoverflow.com/questions/23376308/avoiding-lines-between-adjecent-svg-rectangles) –

+0

@PaulLeBeau投稿を更新しました。 myfの回答には、他の投稿にない新しい追加情報が含まれています。 –

+0

彼の答えにPaulsのコメントは、それが同様に言及して、期限が到来しているクレジットを与えるために;私は彼からそのことを覚えている可能性もあります:https://stackoverflow.com/questions/23376308/avoiding-lines-between-adjecent-svg-rectangles#comment56203656_23376793 – myf

答えて

11

程度であるように思われます"アンチエイリアス"。半画素、この場合には座標を使用、またはあなたのための丸めピクセルを行いますshape-rendering="crispEdges"を適用するが、それでも丸い物体にシャープなエッジを生成します:[adjecent間に線を回避する

rect , circle, line { 
 
\t stroke: rgb(154,154,154); 
 
\t stroke-width: 1; 
 
\t fill: none; 
 
}
<svg style="width:100%;"> 
 
\t <line y2="10.0" y1="10.0" x2="90%" x1="10" /> 
 
\t <line y2="15.5" y1="15.5" x2="90%" x1="10" /> 
 
\t <line y2="20.0" y1="20.0" x2="90%" x1="10" shape-rendering="crispEdges" /> 
 
\t <circle cy="50" cx="20" r="10" /> 
 
\t <circle cy="50" cx="50" r="10" shape-rendering="crispEdges" /> 
 
\t <rect x="90" y="40" width="20" height="20" /> 
 
\t <rect x="120" y="40" width="20" height="20" shape-rendering="crispEdges" /> 
 
\t <rect x="149.5" y="39.5" width="20" height="20" /> 
 
\t <rect x="190" y="40" width="20" height="20" style="stroke: none; fill: black" /> 
 
</svg>

+0

素晴らしい例です。したがって、ストロークが高さ1px(水平線)、垂直位置が奇数であることを前もって知っていれば、「81」を「81.5」に変更してその行を1pxにする必要があります。高さ? –

+0

更新が表示されません。 crispEdgesの設定は素晴らしいです。あなたはなぜラインを塗りつぶしにしませんでしたか?彼らはデフォルトで塗りつぶしがありますか? –

+0

奇数/偶数ではない:*ストローク*の場合*指定された座標を結んでいる*線の周りに描画され、座標全体がピクセル境界を表していることに注意してください。リンクされた質問のPaulsの回答を参照してください。広告の 'fill'行に対して:no、' rect'sに影響を与えるセレクタにそれを壊しました。 – myf