Использование GDI + для рисования текста на стекле:
graphics.DrawString(s, Length(s), font, MakePointF(x, y), brush);
Вы заметите, что текст с поддержкой ClearType плохо рисует очень на стекле:
Но со стеклом отключить текст, конечно, нарисуйте штраф:
Для сравнения здесь Сглаживание шрифтов сглаживания:
И вот без сглаживания шрифтов:
Примечание. Сглаживание шрифтов выглядит лучше, чем на самом деле, потому что StackOverflow изменяет размеры изображений на вашем мониторе.
Как нарисовать текст ClearType на стекле?
Примечания
- Win32 native
- не .NET(например, native)
- не Winforms (т.е. native)
- GDI + (т.е. native)
Что указывает Марк, вы не можете соблюдать пользовательские настройки для текстового рендеринга (т.е. "SystemDefault
". ClearType не работает на стекле, и вы не можете его использовать.
Другими словами, если вы выполняете рендеринг на стекле, вы должны переопределить рендеринг текста с помощью:
graphics.SetTextRenderingHint(TextRenderingHintAntiAliasGridFit);
В противном случае вы должны оставить TextRenderingHint
по умолчанию TextRenderingHintSystemDefault
.