【问题标题】:Getting better text rendering quality in C# winforms在 C# winforms 中获得更好的文本渲染质量
【发布时间】:2013-03-24 19:38:23
【问题描述】:

有没有办法在窗口窗体中获得更好的文本渲染质量。

我尝试使用“TextRenderingHint”,但没有用。

字体为 Helvetica Neue LT Pro,在 Photoshop 中创建的所需结果显示在所附图像的左侧。我使用 .otf 文件作为资源在 .NET 中引入了它。

【问题讨论】:

  • 你把图像放在什么控件上?
  • 这是一个按钮控件,我不想在控件上放图像,我想渲染普通文本。图像总是可能的,但很难维护
  • 您的“Helvetica Neue LT Pro”字体是 Photoshop 专用字体还是 Windows 内置字体?这个字体是否存在于你的机器上,你的程序将被安装吗?您必须确保您的按钮不会退回到其他字体,因为您的 Helvetica 字体可能不存在

标签: c# winforms text-rendering


【解决方案1】:

Winforms 不支持 Open Type 字体。因此,Windows 字体映射器为您找到了替代的 TrueType 字体。它类似于您的原始字体,但当然不会呈现相同的字体。不启用 ClearType 也不会改善结果。

Windows 中的 Open Type 字体支持通常不是很出色。您通常只能依靠 Adob​​e 程序来很好地支持它,对于使用 GDI 或 GDI+ 呈现文本的程序没有像样的后备方案。我只知道 WPF 作为支持它的 GUI 构建器工具。处理 Windows 上无缘无故的 Adob​​e 产品兼容性问题由来已久。就像我使用 Flash 或 Reader 所体验到的乐趣一样。

【讨论】:

    【解决方案2】:

    我的建议是首先使您的图像具有您需要按钮以包含所需边距的确切尺寸。然后TextImageRelation = ImageAboveTextImageAlign = MiddleCenterAutoSize = TrueAutoSizeMode = GrowAndShrink

    除了切换到 WPF 并使用令人惊叹的 WPF 按钮从此过上幸福的生活之外,这就是您所能做的所有事情。

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-01
      • 2013-11-03
      • 1970-01-01
      • 2013-03-24
      相关资源
      最近更新 更多