4

DrawingVisual にポリラインを描画する必要があります。パフォーマンス上の理由から StreamGeometry を使用しています。私が抱えている問題は、アンチエイリアスを有効にする方法がわからないことです。StreamGeometry または DrawingContext に、アンチエイリアシング コントロール用のメソッドまたはプロパティが見つかりません。

以下のコードは IronPython ですが、問題ありません。

geometry = StreamGeometry()
context = geometry.Open()
context.BeginFigure(Point(10, 10), False, False)
context.LineTo(Point(100, 100), True, False)
context.LineTo(Point(200, 300), True, False)
context.Close()

dv = DrawingVisual()
dc = dv.RenderOpen()
dc.DrawGeometry(None, Pen(Brushes.Blue, 1), geometry)
dc.Close()
4

1 に答える 1

2

アンチエイリアスを無効にするには、 RenderOptonsクラスを使用できます。静的メソッドSetEdgeModeを使用すると、DependencyObject の非テキスト描画プリミティブのエッジがどのようにレンダリングされるかを決定できます。

RenderOptions.SetEdgeMode(MyDependencyObject, EdgeMode.Aliased)

この助けを願っています。

于 2012-04-14T16:45:20.953 に答える