首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在玻璃上画ClearType文本?

如何在玻璃上画ClearType文本?
EN

Stack Overflow用户
提问于 2010-11-23 16:29:37
回答 1查看 2.2K关注 0票数 11

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

代码语言:javascript
运行
复制
graphics.DrawString(s, Length(s), font, MakePointF(x, y), brush);

您会注意到,启用ClearType的文本很难在玻璃上绘制

当然,在禁用玻璃的情况下,画得很好:

通过比较,这里是反别名字体平滑。

这里是,没有字体平滑的

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

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

备注

  • Win32原生
  • 不是.NET (即本地的)
  • 不是Winforms (即本机)
  • GDI+ (即原生的)

Mark的意思是,您不能满足用户对文本呈现的偏好(即"SystemDefault“)。ClearType在玻璃上不起作用,你不能使用它。

换句话说,如果要在玻璃上进行渲染,则必须用以下内容覆盖文本呈现:

代码语言:javascript
运行
复制
graphics.SetTextRenderingHint(TextRenderingHintAntiAliasGridFit);

否则,您应该将TextRenderingHint保留在默认的TextRenderingHintSystemDefault上。

另请参阅

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-23 17:32:20

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4258330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档