【问题标题】:Enable Anti-Aliasing for WPF shapes为 WPF 形状启用抗锯齿
【发布时间】:2012-12-23 00:24:26
【问题描述】:

似乎很多人都试图在WPF 中关闭anti-aliasing,但我似乎遇到了相反的问题。我在WPF 中绘制形状,边缘都是锯齿且丑陋的。最糟糕的是,当我使用 ScaleTransform 缩小以使形状的高/宽小于一个像素时,它会完全消失。我怎样才能使它们光滑漂亮?

目前,我正在绘制RectanglesEllipses 并将它们放置在网格和StackPanels 中。

经过大量谷歌搜索,我发现了如何通过在我的窗口构造函数中使用以下行将我的图像获取到anti-aliasRenderOptions.SetBitmapScalingMode(this, BitmapScalingMode.Fant);

但是,这只会影响我的图像,而不影响我的形状。

【问题讨论】:

    标签: c# wpf drawing antialiasing


    【解决方案1】:

    我有同样的问题。将 SnapsToDevicePixels 设置为 false 对我有用:

    <Ellipse SnapsToDevicePixels="False" />
    

    【讨论】:

      【解决方案2】:

      您可以像设置BitmapScalingMode一样设置EdgeMode

       RenderOptions.SetEdgeMode(this, EdgeMode.Unspecified);
      

      Anti-Aliasing 已设置为默认值,因此您无需更改它,但请尝试一下 :)

      在您的窗口上设置SnapsToDevicePixels = true; 可能有助于形状。

      【讨论】:

      • 感谢您的提示,但他们没有帮助:(
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-14
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 2011-05-16
      相关资源
      最近更新 更多