Главная страница
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.47 MB
Время: 0.028 c
1-5036
blond
2003-01-24 09:23
2003.02.03
Терминирование потока (thread)


3-4797
Kudatsky
2003-01-17 11:34
2003.02.03
Плодятся DBF-файлы


1-4839
MikeFW
2003-01-24 14:28
2003.02.03
В обычном приложении работает, а в консольном нет ...


1-4907
Kventin
2003-01-25 15:38
2003.02.03
Ошибка: Cannot focus a disabled or invisible window


8-5068
Юлия
2002-10-17 08:00
2003.02.03
2 видеокарты