我正在做一些关于在.Net 中绘制文本的测试,我得到了以下结果。
- 第一个字符串是本机标签,
FlatStyle
设置为System
- 第二个字符串是使用
Graphics.DrawString()
方法绘制的 - 最后一个是使用
TextRenderer.DrawText()
方法绘制的
所有案例都使用默认的 Windows Vista/7 字体:Segoe UI, 9
如您所见,第二个字符串与其他字符串之间存在差异(它的质量较低,并且抗锯齿不同)。我尝试在对象中配置抗锯齿和平滑模式Graphics
,但没有任何结果。
是否可以绘制文本Graphics.DrawString
并获得与其他方法相同的质量?
提前致谢。
编辑:我已经用 Reflector 查看了代码。我意识到Graphics.DrawString
使用gdiplus.dll调用方法 GdipDrawString() 并TextRenderer.DrawText
使用user32.dll调用DrawTextExW
和DrawTextExA
.
对此有何评论?