Форум: "WinAPI";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
Внизпроблема со масштабированием шрифтов Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c