スポンサーリンク

2012年3月4日日曜日

GuidelineSet

 OnRender メソッドの引数になっていたり DrawingVisual の RenderOpen メソッドで得られる DrawingContext オブジェクト。

 これ使って線を描画したりすると 1 ピクセルの線を描いているはずなのにちょっと太く見えることがある。

 原因はまだよく理解していないけど、その DrawingContext オブジェクトに GuidelineSet オブジェクトを適用するといいみたい。が、ちょっとした落とし穴。

 DrawLine とかの描画メソッドの前に PushGuidelineSet してあげないとダメだって。

drawingContext.PushGuidelineSet(set);
drawingContext.DrawLine(pen, new Point(0, 0), new Point(0, this.ActualHeight));
drawingContext.DrawRectangle(brush, null, new Rect(new Size(this.ActualWidth, this.ActualHeight)));
drawingContext.Pop();