使用GDI +在玻璃上绘制文字:
graphics.DrawString(s, Length(s), font, MakePointF(x, y), brush);
您会注意到启用ClearType的文字在玻璃上绘制非常:
但是当玻璃禁用时,文字当然可以画得很好:
通过比较,这里是反别名字体平滑:
这里是没有字体平滑:
注意:没有字体平滑看起来比实际更好,因为StackOverflow会调整显示器上图像的大小。
如何在Glass上绘制ClearType文本?
Mark建议您不能遵守用户对文字渲染的偏好(即“SystemDefault
”。ClearType在玻璃上不起作用,您无法使用它。
换句话说,如果你在玻璃上渲染,你必须用:
覆盖文本渲染graphics.SetTextRenderingHint(TextRenderingHintAntiAliasGridFit);
否则,您应将TextRenderingHint
保留为默认TextRenderingHintSystemDefault
。
答案 0 :(得分:2)
问题是执行绘图的方式所固有的。所有文字都是在黑色背景上绘制的,然后合成到玻璃背景上;半透明字体平滑与黑色相结合,使近黑色。