Вопрос по функции drawText |
Здравствуйте, гость ( Вход | Регистрация )
Вопрос по функции drawText |
AD |
28.7.2009, 14:42
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
У объекта painter есть функция отрисовки текста. Каким образом можно заставить ее затирать прежнее значение? При отрисовке значения пересечения визира с графиков значение выводится несколько(а то и несколько сот) раз, из-за чего в итоге не разобрать значения.
И опять же сдвиг точки, что не радует.... [attachment=724:test1.JPG] |
|
|
ufna |
28.7.2009, 15:22
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
нужно рисовать в риал-тайме и делать апдейт регионов, где рисовал при перерисовке.
покажи код как рисуешь. |
|
|
kwisp |
28.7.2009, 15:28
Сообщение
#3
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
AD,
пользуй не просто drawText а fillRect затем drawText() в тотже rect что и затер фоном |
|
|
AD |
28.7.2009, 15:32
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
нужно рисовать в риал-тайме и делать апдейт регионов, где рисовал при перерисовке. покажи код как рисуешь. Ну реальное время в данном контексте немного странно звучит. Конечно, перерисовку делаю.
Сообщение отредактировал AD - 28.7.2009, 15:33 |
|
|
AD |
28.7.2009, 17:15
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Пока ничего не помогло. filRect - не помог.
|
|
|
kwisp |
29.7.2009, 9:09
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
AD,
как так не помогло. ???
где CSKMain::cellRects[CSKSession::e_TIME] - QRect области рисования текста CSKConf::colorByStation(pointState) - цвет фона (у тебя это может быть кусок картинки фона) CSKConf::time_font() - цвет времени point->Time().toString(CSKConf::timeFormat) - QString времени |
|
|
AD |
30.7.2009, 11:18
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Возможно, я и ошибся, возможно, руки кривоваты. А может быть, что при большом масштабе, точки пересечения, находящиеся рядом накладываются друг на друга, или же не точка пересечения, распознать такие ситуации не очень знаю как - чтобы выделять точки начала и конца отрезка. При приближении вырисовывается нормально, но при сильном приближении точка исчезает. Видимо условие
дает ложь. Алгоритм не очень хороший, насколько мне видно. Как его изменить на более предсказуемый, пока не знаю!
|
|
|
AD |
30.7.2009, 12:00
Сообщение
#8
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Основное непонимание, почему есть сдвиг между положением визира и отрисовываемой точкой. Как определить, что имеется пересечение отрезком.
|
|
|
AD |
30.7.2009, 14:53
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Никак не могу понять, почему есть смещение рисуемой точки от визира? Подскажите, пожалуйста, где возможна ошибка?
|
|
|
AD |
31.7.2009, 11:07
Сообщение
#10
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
kwisp, посмотрел более внимательно, fillRect() действительно помог, я ошибся. Спасибо. Задача разнести текст при большом масштабе, когда точки находятся рядом. Сделать отметку точек ровно в точке пересечения, а не со смещением. Пока что у меня это не получается.
|
|
|
Текстовая версия | Сейчас: 3.1.2025, 5:06 |