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

WPF消除混叠解决方案

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

    抗混叠 cannot be turned off 在WPF中。但我想去掉小字体时WPF字体的模糊外观。

    一种可能是使用.NET 2.0组件。这看起来会失去透明度和混合支持。但从未尝试过。

    有人能解决这个问题吗?有什么缺点吗?

    谢谢你

    6 回复  |  直到 11 年前
        1
  •  3
  •   Judah Gabriel Himango    12 年前

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

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

        2
  •  9
  •   Moha Dehghan    11 年前

    可以通过以下选项关闭启动WPF 4.0的反别名:

    TextOptions.TextFormattingMode="Display"
    
        3
  •  1
  •   Pavel Minaev    16 年前

    SnapstoDevice像素对文本呈现绝对没有影响。

        4
  •  1
  •   ScottB    13 年前

    微软在这里有一个致力于在WPF中呈现文本的博客 WPF Text Blog

    在.NET 4.0中,情况确实有所改善。

        5
  •  0
  •   Ludvig A. Norin    15 年前

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

    这类似于Mac上的夸脱绘图。

    编辑:对不起,我没读过这个问题。这不适用于字体,只适用于形状。不过,我将把评论留在这里作为参考。

        6
  •  -3
  •   OwenP    16 年前

    尝试使用 UIElement.SnapsToDevicePixels 属性。人们倾向于报告它最适合 graphics and lines 但是我也注意到了文本渲染的改进。