代码之家  ›  专栏  ›  技术社区  ›  Artur Carvalho

WPF抗锯齿解决方法

  •  10
  • Artur Carvalho  · 技术社区  · 17 年前

    抗锯齿 cannot be turned off 在WPF中。但我想消除WPF字体小时的模糊外观。

    一种可能是使用.net 2.0组件。这似乎会失去透明度功能和Blend支持。但从未尝试过。

    有人对此有解决方案吗?它有什么缺点吗?

    非常感谢。

    6 回复  |  直到 17 年前
        1
  •  3
  •   Judah Gabriel Himango    13 年前

    从WPF 4.0开始,可以使用以下选项关闭Anti-Alias:

    TextOptions.TextFormattingMode="Display"
    
        2
  •  9
  •   Moha Dehghan    13 年前

    你试过把 WindowsFormsHost WPF窗口/控件上的控件?这将允许WPF呈现WinForms控件。

    2012年11月更新 :这个问题和答案是4岁。 Text rendering has since improved in WPF 。请不要将WinForms控件放在WPF应用程序中;这是一种修复字体渲染的黑客方法。现在不再需要了。

        3
  •  1
  •   Pavel Minaev    17 年前

    SnapsToDevicePixels对文本渲染绝对没有影响。

        4
  •  1
  •   ScottB    15 年前

    微软在这里有一个专门讨论WPF文本渲染的博客 WPF Text Blog

    情况确实有所改善。网络4.0。

        5
  •  0
  •   Ludvig A. Norin    16 年前

    将您绘制的不希望进行抗锯齿处理的对象偏移0.5px。这将导致绘图引擎进行绘图 在…上 实际像素,而不是绘图 在边缘 像素(默认值)。在像素边缘绘制时,抗锯齿通常发生在周围的像素上。

    这类似于Quarts在Mac上的绘图。

    编辑:对不起,我没有读这个问题。这不适用于字体,只适用于形状。不过,我会在这里留下评论以供参考。

        6
  •  -3
  •   OwenP    17 年前

    尝试使用 UIElement.SnapsToDevicePixels 窗口UI元素上的属性。人们倾向于说它最适合 graphics and lines ,但我注意到使用它在文本呈现方面也有所改善。

    推荐文章