Улучшение качества рендеринга текста в C# winforms

есть ли способ получить лучшее качество рендеринга текста в оконных формах.

Я пытался играть с "TextRenderingHint", но не было никакой пользы.

шрифт Helvetica Neue LT Pro, и желаемый результат, созданный в photoshop, появляется слева от прикрепленного изображения. Я представил его в .NET, используя .otf файл как ресурс.

enter image description here

2 ответов


Winforms не поддерживает шрифты открытого типа. Таким образом, сопоставитель шрифтов Windows нашел вам заменяющий шрифт TrueType. Он напоминает ваш оригинальный шрифт, но, конечно, не отображает то же самое. Отсутствие включенного ClearType также не улучшит результат.

поддержка шрифтов открытого типа В Windows в целом не совсем звездная. Обычно вы можете полагаться только на программы Adobe для его поддержки, нет достойного запасного варианта для программ, которые отображают текст с помощью GDI или GDI+. Я знаю только WPF как инструмент GUI builder, который поддерживает его. Работа с безвозмездными проблемами совместимости продуктов Adobe в Windows имеет долгую историю. И напоминает радость, которую я испытываю, используя Flash или Reader.


мой совет сначала должен сделать ваше изображение точного размера, который вам требуется, чтобы кнопка включала необходимый запас. Тогда TextImageRelation = ImageAboveText, ImageAlign = MiddleCenter, AutoSize = True и AutoSizeMode = GrowAndShrink.

это все, что вы можете сделать, кроме перехода на WPF и счастливой жизни с вашими удивительными кнопками WPF.

надеюсь, это поможет.