如何为使用WPF StreamGeometry绘制的折线启用消除锯齿功能?

我需要在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()

最佳答案 要禁用抗锯齿,可以使用
RenderOptons类,使用静态方法
SetEdgeMode可以确定如何呈现DependencyObject的非文本绘图基元的边缘.

RenderOptions.SetEdgeMode(MyDependencyObject, EdgeMode.Aliased)

希望这有帮助.

点赞