3

なんらかの理由で、自分の描画でストロークが同じ幅または不透明度で表示されません。以下のフィドルでは、四角形とパスの両方が同じストロークを持つ必要があると想定していますが、それらは明らかに異なります。私は自分のプロジェクトで同様の問題を抱えていますが、パスには広い灰色のストロークがあり、四角形には適切な細い黒いストロークがあることを除いて. ストロークを1pxの黒いストロークのように見せ、これらのわずかに透明なぼやけた2pxのストロークではなく、リセットを知っている人はいますか?

これは私のコードです(jsFiddle):

var paper = Raphael(0,0,200,200);

paper.rect(0,0,50,50);
paper.path("M0,0,200,200");​
4

1 に答える 1

4

ゼロを0.5に変更します。

var paper = Raphael(0,0,200,200);

paper.rect(0.5,0.5,50,50);
paper.path("M0,0,200,200");​

http://jsfiddle.net/H4xyX/

ボックスの上端で、(0,0)から(0,50)まで、幅が1ピクセルの線を想像してみてください。何が起こっているのかというと、ストロークがこの線の中心に描画されているということです。線の上に0.5ピクセル、下に0.5ピクセルあるため、ぼやけています。線の幅の範囲は-0.5から+0.5になります。

0.5のオフセットを設定すると、線幅は0から1になり、単一のピクセルを正確に塗りつぶします。

于 2012-11-26T14:16:16.943 に答える