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

Вниз

проблема со масштабированием шрифтов   Найти похожие ветки 

 
z0ne ©   (2002-12-15 16:35) [0]

ситуация такая:

Есть штифт например с шириной (lfWidth) = 30, для него ф-ция GetTextWidth32 возвращает cx = 30. Теперь применяем коэфициент, например, 0.533111 -> получаем lfWidth=16, a Get...Width32 возвращает 17.

А вообще вопрос такой: Как работать (получить) не целые размеры шрифта.


 
z0ne ©   (2002-12-18 09:17) [1]

Ну поможете же кто-нибудь ....


 
Слесарь Матерящийся   (2002-12-18 10:27) [2]

>не целые размеры шрифта

Можно так: создать объект HFONT для ttf-фонта (CreateFontIndirect()), высотой, скажем, 1000 ед.;
затем извлечь из него графику (GetGlyphOutline()), отнормировать по высоте (==1) (ваш код, но тут не без подводных камней - с высотой);
далее выводить в своём масштабе (float) повекторно или выполнив растеризацию (тоже ваш код).

Так что вопрос лишь в том, нужно ли это.


 
z0ne ©   (2002-12-18 14:27) [3]

а код, хотябы примерный, можно ???
можно в мыло/

По памяти .. что-то у меня при борьбе с GetGlyphOutline() не получалось.
Да ... нужно получить ВЕКТОРНОЕ представление шрифта
------------
Pleeeeas


 
Слесарь Матерящийся   (2002-12-18 15:25) [4]

>а код...можно ???

Можно. Но за $$$ :)

>при борьбе с GetGlyphOutline() не получалось

Изучите документацию MSDN, статьи Q243285 и Q87115.

Ещё был пример Q113262, не знаю, выкинули его или нет.
Там есть разбор глифов и вывод изображений литер в окошко.
Весь код в Сях.
Если не найдёте, могу скинуть на мыло.


 
Слесарь Матерящийся   (2002-12-18 16:00) [5]

Опс! я всё-таки нашёл последнюю статью (Q113262):

http://support.microsoft.com/default.aspx?scid=KB;en-us;q113262

Удачи!


 
z0ne ©   (2002-12-19 10:55) [6]

спасибо !!! буду разбираться ....
Хотя, наверное, получение векторов через GetPath не сильно далеко в сторону от Вашего пути.

Всё-равно придётся столкнуться с проблемами округления при масштабировании. Но всё-равно спасибо



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
1-4930
oremor
2003-01-26 08:43
2003.02.03
DDE


1-4831
Barman
2003-01-24 08:35
2003.02.03
Ассоциации


3-4759
Relict
2003-01-15 11:57
2003.02.03
опять запись/чтение рисунков ... ну не получается...


1-5004
xxxCrazyManxxx
2003-01-23 17:03
2003.02.03
OnClick


6-5103
mouse_1
2002-11-24 10:53
2003.02.03
Работа с сетевой картой