【问题标题】:Distorted text rendering WPF (see screenshots)扭曲的文本呈现 WPF(见截图)
【发布时间】:2014-09-30 22:11:44
【问题描述】:

有没有人在他们的 xaml 文本渲染中看到过这种特殊的失真?

这通常发生在页面第一次呈现时,但是当浏览器重新调整大小时,它会正确呈现。

我尝试了不同的文本渲染设置,并确保我没有设置任何可能影响文本的高度或宽度限制。

这也发生在我创建的自定义按钮的文本上。它与效果渲染有关吗?按钮和分组框确实有阴影,但这也会影响白色背景上的纯文本吗?

谢谢! 杰夫

【问题讨论】:

  • 我不会声称这是一个答案,但我在 WPF 中看到了这个问题,当它错位了一小部分像素时,因此渲染器无法很好地匹配像素网格。 WPF 4+(我认为)具有将事物强制到像素网格上的属性,这可能很有用。阴影肯定会导致这种情况,尽管不确定为什么它会在其他控件上导致它。阴影的修复通常是在带有阴影的控件顶部(按 z 顺序)分层文本,而不是在其中(在可视树术语中)。
  • 发布您当前的 XAML。

标签: wpf xaml text distortion


【解决方案1】:

它与效果渲染有关吗?按钮和分组框确实有阴影,但这也会影响白色背景上的纯文本吗?

是的。在元素上设置EffectBitmapEffectCacheMode 会导致该元素被光栅化,即,它从可缩放矢量形式转换为位图形式。当元素跨设备像素定位或按比例缩放时,这可能会产生锯齿状边缘(锯齿)等视觉伪影,而文本元素往往受到的影响最大。

我会尽可能避免使用这种效果。您可以通过将祖先元素上的 UseLayoutRounding (WPF 4+) 或 SnapsToDevicePixels (WPF 3.5+) 设置为 True 来缓解这些问题。更好的是,您可以按照@MatthewWalton 的建议,将您的内容放在应用了效果的任何元素的前面,而不是在其中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-02
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 2012-10-13
    • 2011-03-27
    • 1970-01-01
    相关资源
    最近更新 更多