我正在开发WPF应用程序,但我注意到在某些字体大小下,文本的渲染效果不如在“控制面板”->“字体”中看到的示例一样。我正在使用大型Segoe UI字体(FontSize="36"),并且在竖线上的效果更加明显,例如字母“U”的一侧可能比另一侧稍厚。
)。

在某些字体大小下,例如,字体质量会提高。 FontSize="48"(我相信它相当于36pt),但是使用有限数量的字体大小并不总是可行的。

我可以通过将以下属性应用于TextBlock来提高字体质量:-

TextOptions.TextFormattingMode="Display" TextOptions.TextRenderingMode="ClearType"

考虑到质量的提高,我很好奇为什么WPF不能对所有文本都这样做,还是取决于性能?我当时正在考虑创建一种全局样式,以将其应用于所有控件,否则会引起问题吗?

(我尝试上传屏幕截图,但是SO必须以低质量存储图像,并且您无法真正找出字体问题)。

最佳答案

这是WPF文本团队撰写的有关此功能的blog post

请注意TextFormattingMode:



由于这些属性是.NET 4.0中的新增功能,因此它们将原始WPF算法保留为默认模式,即理想模式。

对于TextRenderingMode


由于Auto是默认设置,因此通常可以得到ClearType渲染。

现在,由于这些是附加属性,并且它们继承了,因此您只需将它们设置在根Window即可。无需创建一堆Style

关于wpf - WPF字体质量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13138299/

10-09 23:33
查看更多