![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему неточно масштабируется текст? [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 в своих программах?