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

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

问题在以下链接中描述和演示:

说明:WPF中的文本清晰度。此链接具有字体比较。

我想为这个问题收集所有可能的解决方案。Microsoft Expression Blend使用WPF但字体看起来可读。

  • Microsoft Expression Blend中的深色背景

  • 增加字体大小和更改字体(Calibri ...)[链接]

  • 嵌入窗体[链接]

  • 使用GDI +和/或Windows窗体TextRenderer类将文本呈现到位图,然后将该位图呈现为WPF控件。[链接]

有没有更多的解决方案?

这将在VS2010(和WPF4)beta 2中修复

它看起来像它已被最终解决!

Scott Hanselman的ComputerZen.com:WPF和Text Blurriness,现在有完全的Clarity


慕虎7371278
浏览 1377回答 3
3回答

炎炎设计

.NET 4最终解决了WPF文本呈现质量差的问题,但它隐藏得很好。为每个窗口设置以下内容:TextOptions.TextFormattingMode="Display"默认值是“理想”,它完全不是名称所暗示的。TextOptions中还有另外两个选项,即TextHintingMode和TextRenderingMode,但它们都有合理的默认值。

青春有我

前几天我使用了应用了DropShadowEffect的边框时遇到了问题。结果是该边界内的所有文本都非常模糊。如果文本位于其他面板内或直接位于边框下,则无关紧要 - 任何具有效果的父级子级的文本块似乎都会受到影响。这个特殊情况的解决方案是不将东西放在有效果的边框内,而是使用网格(或任何其他支持将内容放在彼此之上的东西)并在与文本相同的单元格中放置一个矩形(即作为视觉树中的兄弟姐妹)并对其产生影响。像这样:<!--&nbsp;don't&nbsp;do&nbsp;this&nbsp;---><Border> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<Border.Effect> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<DropShadowEffect&nbsp;BlurRadius="25"&nbsp;ShadowDepth="0"&nbsp;Opacity="1"/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</Border.Effect> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<TextBlock&nbsp;Text="This&nbsp;Text&nbsp;Will&nbsp;Be&nbsp;Blurry"&nbsp;/></Border><!--&nbsp;Do&nbsp;this&nbsp;instead&nbsp;--><Grid> &nbsp;&nbsp;<Rectangle> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<Rectangle.Effect> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<DropShadowEffect&nbsp;BlurRadius="25"&nbsp;ShadowDepth="0"&nbsp;Opacity="1"/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</Rectangle.Effect> &nbsp;&nbsp;</Rectangle> &nbsp;&nbsp;<TextBlock&nbsp;Text="This&nbsp;Text&nbsp;Will&nbsp;Be&nbsp;Crisp&nbsp;and&nbsp;Clear"&nbsp;/></Grid>
打开App,查看更多内容
随时随地看视频慕课网APP