7

我在 C# WPF 中有应用程序(.NET4,应用程序在 Windows XP Embedded 上运行)并且它工作正常,但现在我收到了屏幕截图并且文本周围存在图形错误。这些错误仅出现在文本周围,而不是按钮边缘,也不是 Windows 桌面。

图片: 在此处输入图像描述

在此处输入图像描述

是图形错误(硬件),还是可以修复的程序错误?

4

3 回答 3

1

尝试使用:

TextOptions.TextFormattingMode="Display"

哪个应该使用 ClearType。或者你可以试试:

TextOptions.TextRenderingMode="Aliased"

..看看你是否能得到更好的结果

于 2013-08-20T21:55:18.090 回答
1

WPF 应该尝试默认使用 ClearType 和抗锯齿,以提供开箱即用的平滑外观。它不能被关闭WPF Anti aliasing workaround

抗锯齿背后有很多事情要做,比如亚像素抗锯齿。http://blogs.msdn.com/b/text/archive/2009/08/24/wpf-4-0-text-stack-improvements.aspx. 边缘通常与另一种算法混叠,也就是硬件加速:边缘抗锯齿。这可能是您没有边缘问题的原因。出于性能目的,系统会尝试变得智能并使用硬件加速(所有现代 GPU 都提供此类)。你开发的东西似乎是针对某种商业触摸屏设备:比如广场/商场的电子信息亭,或者工厂的一些控制终端,等等。这些通常可以有奇怪的硬件,奇异的 GPU 和主板。振动和环境影响(炎热的白天 - 寒冷的夜晚温度变化复发)可能导致它们出现故障和硬件故障。

  1. 尝试在设备上也运行其他软件,这些软件也像 WPF 一样使用 ClearType 抗锯齿功能。看看是否只有您的软件会导致这种情况。看看其他 WPF 软件是否会导致这种情况。
  2. 如果可以的话,您可以尝试在该系统上关闭硬件加速,并查看软件渲染是否有任何改进。 http://blogs.msdn.com/b/text/archive/2006/10/18/tips-for-improving-your-wpf-text-rendering-experience.aspx 也在设置中四处寻找。
  3. 尝试运行硬件诊断和 GPU 测试,具体取决于您可以访问设备。

我会排除字体文件损坏:这可能会使字体完全无法使用,并且您还报告说其他字体也有奇怪的外观,我不认为所有字体都已损坏。尝试运行软件错误诊断。

于 2013-08-20T22:40:45.227 回答
0

是否对文本应用了任何效果?我已经看到将 DropShadowEffect 应用于文本的实例 - 这在某些硬件上渲染得很好,但在其他用户的机器上,文本看起来被破坏了。删除阴影后,它渲染得很好。

例如,参见http://social.msdn.microsoft.com/Forums/vstudio/en-US/f44bce57-d67f-46d3-8161-57c80a02e893/strange-blurring-issue-when-using-shader-effect?forum =wpf

于 2013-10-16T08:13:36.913 回答