TextRenderer.DrawText, используя GDI для визуализации шрифтов OTF? - PullRequest
5 голосов
/ 20 июля 2011

Я пытаюсь нарисовать текст поверх растрового изображения, я провел некоторые исследования и обнаружил, что .NET / GDI + не поддерживает OTF-шрифты.Я где-то читал, что вы можете использовать TextRenderer.DrawText для рендеринга OTF-шрифтов с помощью GDI, но я не могу понять, как и качество не сравнится с Graphics.DrawString в наименьшей степени.

  1. Прежде всего, возможно ли вообще использовать шрифты OTF в VS или я что-то неправильно прочитал?

  2. Во-вторых, еслиответ TextRenderer.DrawText, как я могу использовать OTF шрифты?Похоже, я должен использовать класс System.Drawing.Font, но я не думаю, что они поддерживают шрифты, и это проблема, правильно?

  3. Как мне заставить шрифты отображатькак шрифты TTF, используя GDI + (Graphics.DrawString)

  4. Используя Graphics.DrawString, я смог использовать RectangleF (с указанной шириной, 0 высотой) в качестве границы для моеготекст, и текст обернут правильно.При использовании TextRenderer.DrawText возможность использования RectangleF исчезает и позволяет только Rectangle, который, по-видимому, не позволяет высоту 0, но при этом позволяет отображать текст (т. Е. Текст должен находиться внутри прямоугольника, а перенос текста неРабота).Я делаю это неправильно?

Любая помощь будет принята с благодарностью.Если это невозможно, есть ли способ конвертировать шрифты OTF или найти семейство шрифтов Gotham онлайн в версии TTF?Мне действительно нужны эти шрифты!

...