Управление рендерингом текста в GDI + - PullRequest
1 голос
/ 04 мая 2009

Я некоторое время боролся с рендерингом текста в GDI +. Мы динамически генерируем изображения заголовков, но, похоже, в библиотеке есть много чего. Я могу установить шрифт, размер шрифта и некоторые другие вещи, но я не могу контролировать высоту строки или расстояние между буквами.

Я создал свой собственный класс, который берет сгенерированное текстовое изображение, вырезает отдельные строки текста (настройки для каждого шрифта кодируются вручную в файлы настроек) и собирает их с желаемой высотой строки. Я не смог решить ту же проблему с интервалом букв.

У кого-нибудь есть решение для этого или рекомендация библиотеки (ОС или коммерческой), которая решает это?

1 Ответ

2 голосов
/ 06 мая 2009

Я не знаю, будет ли это применимо к вашему решению, но в прошлом, когда мне нужно было визуализировать какой-то более сложный текст, и я хотел иметь достаточную гибкость в том, как он будет отображаться, я использовал эта библиотека:

http://www.terrainformatica.com/htmlayout/main.whtm

Это не с открытым исходным кодом, но это бесплатно ...

В качестве альтернативы, в игровом пространстве я широко использовал растровые шрифты - если вы храните информацию, такую ​​как интервал между символами и т. Д., Она может выглядеть точно так же, как TTF, но вы теряете возможность масштабировать ее без внесения некоторых достойные артефакты. Чтобы лучше понять этот подход, вот инструмент для создания шрифтов:

http://www.angelcode.com/products/bmfont/

Надеюсь, один из них даст вам некоторую помощь - любой из них даст вам контроль над расстоянием между персонажами и высотой строк, но у них также есть свои ограничения.

...