WPF字体模糊问题- 解决方案

158
问题在以下链接中描述和展示: 说明:WPF中的文本清晰度。此链接具有字体对比。
我想收集此问题的所有可能解决方案。Microsoft Expression Blend使用WPF,但字体看起来可读性好。
  • 像Microsoft Expression Blend一样使用黑色背景
  • 增加字体大小并更改字体(Calibri ...)[链接]
  • 嵌入windows表格[链接]
  • 使用GDI +和/或Windows Forms TextRenderer类将文本呈现为位图,然后将该位图作为WPF控件呈现。[链接]
是否还有其他解决方案? 这将在VS2010(和WPF4)beta 2中得到解决

看起来问题终于解决了!

Scott Hanselman的ComputerZen.com:WPF和文本模糊问题,现在完全清晰了


VS2010RC对我来说完全无法使用 http://www.mpdreamz.nl/vs2010RC-blur.png - Martijn Laarman
我的机器上的VS2010RC看起来比你的图片好多了,实际上白色背景非常好,但是黑色背景仍然很糟糕。 - Robert Vuković
你找到这个问题的解决方案了吗?实际上,我在我的应用程序中也遇到了同样的问题,我正在使用WPF 3.5和VS2010。 - SharpUrBrain
最后三个链接已经失效。 - SHIN JaeGuk
12个回答

1
我所使用的方法(在 tweetz 中实现,以及在此处再次查看后,正如Pat在他的评论中所述)是在我的窗口中设置UseLayoutRounding="True"
UseLayoutRounding文档会对不同的布局大小进行四舍五入,以便在设备像素上绘制。正如文档所述:

在像素边界上绘制对象可以消除反锯齿产生的半透明边缘,当边缘落在设备像素的中间时。

一个很好的回答,解释了UseLayoutRoundingSnapToDevicePixels属性之间的区别,可以参考这里


1
如果您想使用C#基类来自定义应用程序的窗口(或者现在有理由这样做),以下是如何设置文本格式以使用吸引人的显示模式:
public class SnappyWindow : Window
{
    public SnappyWindow()
    {
        SetValue(TextOptions.TextFormattingModeProperty, TextFormattingMode.Display);
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接