我正在做一些关于在.Net中绘制文本的测试,并且我得到了以下结果。在.NET中绘制文本
- 第一个字符串是一个本地标签与
FlatStyle
设置为System
- 第二串使用
Graphics.DrawString()
方法 - 绘制最后一个是使用
TextRenderer.DrawText()
方法绘制
所有情况下都使用默认的Windows Vista/7字体:Segoe UI,9
正如您所看到的,第二个字符串与其他字符串(质量较低,反别名不同)之间存在差异。我试图在Graphics
对象中配置抗混叠和平滑模式,但没有任何结果。
是否可以绘制文字使用Graphics.DrawString
并获得与其他方法相同的质量?
在此先感谢。
编辑:我已审查与反射器的代码。我意识到Graphics.DrawString
使用gdiplus.dll调用方法GdipDrawString()和TextRenderer.DrawText
使用user32.dll调用DrawTextExW
和DrawTextExA
。
对此有何评论?
你在所有的情况下都使用完全相同的字体? – Tigran
@Tigran:是的,看我的编辑 –
你只是缺少'AntiAlias'选项... – balexandre