Вниз
Скачать: CL | DM;

Почему неточно масштабируется текст?   Найти похожие ветки 

 
Unknown user ©   (2004-04-19 20:57) [0]

Текст выводится true type шрифтом при помощи DrawText, масштабирование задается


SetMapMode(DC,MM_ISOTROPIC);
SetWindowExtEx(DC,100,100,nil);
SetViewPortExtEx(DC,Round(FZoom*100),Round(FZoom*100),nil);


И при этом обнаруживается, что при определенных масштабах высота шрифта и ширина строки вычисляются с большой погрешностью, а геометрические фигуры масштабируются точно. Например, если строка при масштабе в 100% умещалась в ограничивающий прямоугольник, то при масштабе 50% она уже может разбиватся DrawText на две строки. Как точно масштабировать текст?


 
Unknown user ©   (2004-04-22 09:38) [1]

Никто не знает? Никто не использовал SetMapMode в своих программах?


 
Григорьев Антон   (2004-04-22 13:46) [2]

Ищите вот эту книгу, там что-то подобное обсуждалось: http://www.delphikingdom.com/asp/book.asp?BookID=61


 
Unknown user ©   (2004-04-23 14:27) [3]

2 Григорьев Антон. Прочитал ваш комментарий, и понял свою главную ошибку - я начал работать с графикой не прочитав эту книгу :) А если серъезно, то хочу услышать ваше мнение о проблеме. Насколько я понимаю -это недостаток GDI, но как тогда обходят его в текстовых процессорах, наподобие Word, где текст масштабируется идеально?


 
MBo ©   (2004-04-23 15:26) [4]

Фень Юань (автор книги) советует написать свою процедуру для точного вычисления, основанную на GetCharABCWidth и т.п. функциях



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
1-1084803085
SMART_n
2004-05-17 18:11
2004.06.06
Обмен данными между локальными приложениями


14-1084606042
Иксик
2004-05-15 11:27
2004.06.06
Посоветуйте хорошую книгу по мат. анализу


1-1085212226
Diver
2004-05-22 11:50
2004.06.06
Можно ли повернуть "имедж" на определенный угол обычными процедур


3-1084541484
vv_fran
2004-05-14 17:31
2004.06.06
Глюк уникального ключа в FireBird 1.03


14-1085123823
Layner
2004-05-21 11:17
2004.06.06
Кто что может сказать по огнетушителям?




   Наверх