![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| PupaJr |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.10.2006 Репутация: нет Всего: нет |
Добрый день.
Рисую несколько серий на стандартном чарте. Надо на них измерить затухающие колебания синусоиды по осям - нарисовать что-то типо размерных линий как на чертежах нажатием на самой канве - тык 1 точка, тык 2 точка и появилвсь линия между точками. При этом при масштабировании надо чтобы линия и точки масштабировались следом, также перемещались... Понятно надо - onmousemove, onclick, calcY...
А обратно из данных новую точку на канве нет..
пытаюсь нарисовать иничего не выходит.
Это сообщение отредактировал(а) Poseidon - 27.5.2013, 19:26 |
||||||
|
|||||||
| Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 0 Всего: 7 |
А включить разметочные линии в отдельные серии?
Рисовать по канвасу графика занятие попахивающее мазохизмом, т. к. надо все изменения мониторить. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
| PupaJr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.10.2006 Репутация: нет Всего: нет |
Спасибо, но это не информативно, нужно так как на приложенном рисунке, и при масштабировании всё двигалось вместе с графиком - тоесть надо сначала поймать данные по клику - это легго получается из координат мыши получаем данные в сериях, а потом при изменении масштаба или перемещении графика уже из запомненных данных получать новую точку на канве для новой прорисовки стрелок в процедуре "автердрав". Другого пути пока не вижу...
П.С. уведомление на почту не пришло - что есть ответ... ( |
|||
|
||||
| Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 0 Всего: 7 |
Я себе делал свой велосипед в виде многосерийного графика с автомасштабированием по выделенным зонам мышкой у которого для каждой серии могли добавляться еще прямоугольники. В принципе ничего там сложного нет, могу выложить, а там можно и переделать, это может быть проще, чем воевать с чЯйным-чартом. Помимо прочего он оптимизирован на сверхбольшие серии данных. Уровень совместимости по языку D2005 и выше, а если удалить объявления инлайнов, то пойдет и на D7. Особенность - обязательная сортировка точек по X перед отрисовкой, но она элементарно отключается.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
| PupaJr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.10.2006 Репутация: нет Всего: нет |
Спасибо, я на D6 сижу пока... как гарантия того что проект будет работать и на стрых ОС без всяких там обновлений.
Спасибо за помощь, но проект уже весь сделан со стандартным TChart... и он легко у меня печатается... а вот для "наглядности" хотел бы сделать эти "стрелки".. Странно вот одно, почему не работает Series1.CalcXPosValue(strtotime(xx))- со шкалой времени... или я не правильно пользуюсь нахождением точки на канве из точки по оси (времени).. даёт почемуто отрицательное число... |
|||
|
||||
| PupaJr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.10.2006 Репутация: нет Всего: нет |
Вот сделал сам
![]() нахожу точку и рисую, а в afterdraw просто повторяю проделаную здесь процедуру
вопрос решён ) |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |