gpt4 book ai didi

Aero:如何在玻璃上绘制 ClearType 文本?

转载 作者:行者123 更新时间:2023-12-04 02:26:54 25 4
gpt4 key购买 nike

使用 GDI+ 在玻璃上绘制文本:

graphics.DrawString(s, Length(s), font, MakePointF(x, y), brush);

您会注意到启用 ClearType 的文本绘制 非常在玻璃上不好:

alt text

但是玻璃禁用文本,当然,画得很好:

alt text

作为比较,这里是 抗锯齿字体平滑 :

alt text

这里是 没有字体平滑 :

alt text

备注 :没有字体平滑看起来比实际效果更好,因为 StackOverflow 会调整显示器上图像的大小。

如何在玻璃上绘制 ClearType 文本?

笔记
  • Win32 原生
  • 不是 .NET(即 native )
  • 不是 Winforms(即 native )
  • GDI+(即原生)


  • Mark 的建议是你不能尊重用户对文本呈现的偏好(即“ SystemDefault”。ClearType 在玻璃上不起作用,你不能使用它。

    换句话说,如果您在玻璃上渲染,则必须使用以下内容覆盖文本渲染:
    graphics.SetTextRenderingHint(TextRenderingHintAntiAliasGridFit);

    否则你应该离开 TextRenderingHint默认情况下 TextRenderingHintSystemDefault .

    也可以看看
  • Aero: How to draw solid colors on glass?
  • Windows Aero: What color to paint to make “glass” appear?
  • WPF: Extending glass into client area disables ClearType entirely
  • 最佳答案

    这个问题是绘制的方式所固有的。您的所有文本都在黑色背景上绘制,然后合成到玻璃背景上;半透明字体平滑与黑色相结合,使之接近黑色。

    关于Aero:如何在玻璃上绘制 ClearType 文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4258330/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com