使用GDI+在玻璃上绘制文本:
graphics.DrawString(s, Length(s), font, MakePointF(x, y), brush);您会注意到,启用ClearType的文本很难在玻璃上绘制:

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

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

这里是,没有字体平滑的

注意到:没有字体平滑看起来比实际更好,因为StackOverflow调整了显示器上的图像大小。
如何在玻璃上绘制ClearType文本?
备注
Mark的意思是,您不能满足用户对文本呈现的偏好(即"SystemDefault“)。ClearType在玻璃上不起作用,你不能使用它。
换句话说,如果要在玻璃上进行渲染,则必须用以下内容覆盖文本呈现:
graphics.SetTextRenderingHint(TextRenderingHintAntiAliasGridFit);否则,您应该将TextRenderingHint保留在默认的TextRenderingHintSystemDefault上。
另请参阅
发布于 2010-11-23 17:32:20
这个问题是执行绘图的方式固有的。所有文本都是在黑色背景上绘制的,然后组合到玻璃背景上;半透明字体平滑与黑色结合,使之接近黑色。
https://stackoverflow.com/questions/4258330
复制相似问题