Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему неточно масштабируется текст? [D5, Win2k, WinXP]


Unknown user ©   (2004-04-19 20:57:00) 

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


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


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


MBo   (2004-04-23 15:26:00) [1]

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


Unknown user   (2004-04-23 14:27:00) [2]

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


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

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


Unknown user   (2004-04-22 09:38:00) [4]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо