Здравствуйте, гость ( Вход | Регистрация )
|
flankerr |
17.1.2008, 17:42
Сообщение
#1
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0
|
есть вывод текста
painter->drawText(x,y,"TEST_TXT"); Вопрос как вокруг текста нарисовать прямоугольник ? (Или как узнать QRect в которм находиться текст) QFontMetrics выдаёт весьма противоречивый результат.... |
|
|
|
![]() |
|
flankerr |
18.1.2008, 12:17
Сообщение
#2
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0
|
boundingRect
выдаёт правильно ширину для заданного текста или символа а вот высоту он выдаёт для самого большого символа в шрифте отсюда и идут все проблемы. просчитать высоту заданного символа практически не реально. Т.е. можно, НО с предварительно анализом символа и то без гарантий. Т.е. проверять с начала проверять большая буква или маленькая подразумевается что у нее есть верхний апостроф или нет, есть у нё завитки ниже базовой или нет и т.п. и исходя из этого уже делать прогноз (даже тут точность нет будет лищь прогноз) высоты основываясь на имеющихся возможностях фонтметрикс. Поэтому казалось бы на первый взгляд тривиальная задача узнать высоту буквы на практике оказывается разрешимой лишь частично Сообщение отредактировал flankerr - 18.1.2008, 12:19 |
|
|
|
flankerr Высота шрифта ? 17.1.2008, 17:42
flankerr ширину определить легкоЮ а вот высоту как оказалос... 17.1.2008, 18:09
ViGOur Так вроде нормально:
QPainter painter( this... 17.1.2008, 18:22
flankerr Увы....
С таким же успехом я могу прямоугольник на... 17.1.2008, 18:36
ViGOur А в данном случае как?
У меня отклонение где-то на... 17.1.2008, 18:42
flankerr Цитата(ViGOur @ 17.1.2008, 18:42) А в дан... 17.1.2008, 18:45
flankerr вот с помощью такой феньки
rect = fm.boundingRect... 17.1.2008, 19:01
ViGOur Я уже вижу, что пошаманить немного прийдется... 17.1.2008, 19:12
ViGOur А если попробовать посчитать посимвольно?
С помощь... 17.1.2008, 19:14
flankerr Цитата(ViGOur @ 17.1.2008, 19:14) А если ... 18.1.2008, 11:22
Litkevich Yuriy Я тут не вникая глянул в книжку Макса Шлее, там те... 18.1.2008, 9:54
ViGOur Цитата(flankerr @ 17.1.2008, 19:01) Но во... 18.1.2008, 11:19
flankerr Цитата(ViGOur @ 18.1.2008, 11:19) Цитата(... 18.1.2008, 11:25
flankerr кстати нашёл ещё интересную вещь
QFontMetrics::un... 18.1.2008, 11:50
ViGOur Вот я тут попробовал русские буквы, можешь посмотр... 18.1.2008, 11:54
ViGOur Цитата(flankerr @ 18.1.2008, 12:17) выдаё... 18.1.2008, 12:35
Tonal На WinApi таки можно узнать "реальную" в... 19.1.2008, 11:44![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 13.12.2025, 23:16 |