Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.08;
Скачать: CL | DM;

Вниз

Отображение текста TrueType, минуя функции GDI   Найти похожие ветки 

 
Павлик Морозов   (2005-11-01 20:31) [0]

Уважаемые господа!

1. Мне необходимо узнать ТОЧНЫЙ размер (высота, ширина) заданной строки текста, для которого задан TrueType Font (хотя, возможны и растровые шрифты);
2. Мне необходимо рисовать тексты, шрифт которых TrueType, минуя стандартные средства GDI для вывода текста, так как для текста (извините за тавтологию), возможно будут заданы трёхмерные повороты.
Про первую задачу я несколько почитал в книжке Фень Юаня "Программирование графики для Win2000", но что-то ничего хорошего не вышло :(
Про вторую задачу (которая по сути решит первую) - в общем - путь решения понятен - необходимо извлечь "контуры" текста и нарисовать их соответственно функциями PolyLine, PolyBezier или чем-то подобным,
НО возможно кто-то располагает freeware-библиотекой для решения подобной задачи?.. или уже решал задачу и будет рад помочь дилетантам в этом деле?

Заранее благодарен.

P.S. если сообщение "не в тему", просьба направить на нужную:)


 
GuAV ©   (2005-11-01 21:27) [1]

Думаю, что для извлечения элементов шрифта следует всё же применять функции GDI.
Я никогда не сталкивался с такой задачей, но похоже, что для этого используется GetGlyphOutline с параметром GGO_NATIVE.


 
wicked ©   (2005-11-03 00:39) [2]

решений море.... вопрос только в том, насколько трудоемкое и мощное необходимо....
можно воспользоваться, например, http://www.freetype.org/
недостатком её является то, что файл со шрифтом ей надо подсовывать в явном виде....
если же данные про шрифт нужно получить из HFONT, то тут уже посоветовали GetGlyphOutline.... функция непростая по части результатов, но выдает то, что нужно.... для компоновки отдельных глифов в строку рекомендую взглянуть на GetCharacterPlacement - очень мощная штука, учитывает множество нюансов во взаимном расположении отдельных символов в строке.... также, для облегчения жизни, понадобится GetFontLanguageInfo - она предоставляет часть параметров, которые потом можно передать ф-ции GetCharacterPlacement....
если нужно подробней, могу дать исходник, но он на билдере (си++) и с использованием STL....
как вариант - http://www.koders.com - вводим имя функции и смотрим, как другие их используют....

для рендеринга текста GDI подходит только в одном случае - если результирующие размеры символов будут соответствовать размеру шрифта не меньше 16 - 20 пунктов.... если меньше - выглядит некрасиво и трудночитаемо....
поэтому смотрим в сторону сторонних рисующих библиотек, например,
http://www.cairographics.org/introduction
либо что-то отсюда - http://vectorgraphics.sourceforge.net/
также можно попробовать GDI+, но тут я не советчик, так как не пробовал с ним работать....



Страницы: 1 вся ветка

Текущий архив: 2006.01.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
2-1134921456
Out84
2005-12-18 18:57
2006.01.08
Time


6-1127327378
Den12
2005-09-21 22:29
2006.01.08
Используя что создать web-приложение?


6-1127314678
duk_
2005-09-21 18:57
2006.01.08
почта


9-1113424295
sergeyshb
2005-04-14 00:31
2006.01.08
Проект "Другой мир"


4-1130921832
Still Swamp
2005-11-02 11:57
2006.01.08
Как соорудить окошко типа PopUp