Главная страница
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.013 c
3-4730
Ops
2003-01-14 16:08
2003.02.03
SQL запрос. Сумма по 2 таблицам. Уже 2 часа думаю


3-4748
oleon
2003-01-15 11:52
2003.02.03
Здраствуйте. У меня сегодня день рождения. Есть функция UDF.


14-5166
Adolf
2003-01-17 20:28
2003.02.03
Component


7-5304
Андрей Ваганов
2002-11-24 18:27
2003.02.03
Всегда активная форма.


14-5164
Lapuh
2003-01-14 21:10
2003.02.03
Что за директива class of ?