Я делаю несколько тестов по рисованию текста в .NET, и у меня были следующие результаты.
- Первая строка - это родная метка с
FlatStyle
, установленная наSystem
- Вторая строка рисуется с помощью
Graphics.DrawString()
method - Последний разрисован с использованием метода
TextRenderer.DrawText()
Во всех случаях используется шрифт Windows Vista/7 по умолчанию: Segoe UI, 9
Как вы можете видеть, есть разница между второй строкой и другими (она имеет меньшее качество, а также алиас отличается). Я попытался настроить анти-псевдоним и режим сглаживания в объекте Graphics
без каких-либо результатов.
Можно ли рисовать текст usign Graphics.DrawString
и получать то же качество, что и другие методы?
Спасибо заранее.
EDIT: Я просмотрел код с помощью Reflector. Я понял, что Graphics.DrawString
использует метод вызова gdiplus.dll GdipDrawString() и TextRenderer.DrawText
использует user32.dll вызов DrawTextExW
и DrawTextExA
.
Любые комментарии об этом?