Как известно событие MouseMove вызывается довольно редко и нарисовать линию SetPixel-ем не выйдет. Конечно можно между точкам, которые получены с помощью MouseMove, достраивать прямые линии, но это совсем не то. Так вот мне хотелось бы знать есть ли возможность получить координаты всех точек, по которым прошел курсор мыши, и как это сделать.
Здравствуйте, x0resk, Вы писали:
X>Как известно событие MouseMove вызывается довольно редко и нарисовать линию SetPixel-ем не выйдет. Конечно можно между точкам, которые получены с помощью MouseMove, достраивать прямые линии, но это совсем не то. Так вот мне хотелось бы знать есть ли возможность получить координаты всех точек, по которым прошел курсор мыши, и как это сделать.
Почему "не то"? Так и делается. И ни один драйвер, кстати, не снимает положение курсора для каждого пикселя
Ну, можешь сплайн строить
WARNING: expression "to_be || !to_be" is always true
Проблема в том, что в итоге надо знать все координаты точек, по которым проходят линии и LineTo тут не поможет? Есть ли какие то API функции, которые позволяют это сделать?
Re[3]: Рисование линии по MouseMove?
От:
Аноним
Дата:
24.10.06 07:42
Оценка:
X>Проблема в том, что в итоге надо знать все координаты точек, по которым проходят линии и LineTo тут не поможет? Есть ли какие то API функции, которые позволяют это сделать?
Курсор проходит не по непрерывной прямой а по набору точек. Если хочецца нарисовать плавную линию -сделай мат. интерполяцию типа сплайнов.
Здравствуйте, x0resk, Вы писали:
X>Как известно событие MouseMove вызывается довольно редко и нарисовать линию SetPixel-ем не выйдет. Конечно можно между точкам, которые получены с помощью MouseMove, достраивать прямые линии, но это совсем не то. Так вот мне хотелось бы знать есть ли возможность получить координаты всех точек, по которым прошел курсор мыши, и как это сделать.
Здравствуйте, Amidlokos, Вы писали:
A>Здравствуйте, BlackHeretic, Вы писали:
BH>>А если попробовать опрашивать координаты мыши по таймеру с очень малой задержкой?
A>...и заставить пользователя двигать курсор с очень малой скоростью?
Зачем же. Если он шустро движет мышу, то между двумя "поймаными" точками наверняка будет прямая, если он конечно не с бодуна
ICQ 156156278
Re[4]: Рисование линии по MouseMove?
От:
Аноним
Дата:
24.10.06 16:41
Оценка:
BH>Зачем же. Если он шустро движет мышу, то между двумя "поймаными" точками наверняка будет прямая, если он конечно не с бодуна
Дефолтовая частота опроса PS/2 мыши -80Гц. Это значит что данные о координатах мыши при ее движении по кабелю передаются 80 раз в секунду. А теперь проведем эсперимент. Берем мышь, быстро очерчиваем ею окружносить диаметром пол-высоты экрана. Экран у меня — 1280х768. Диаметр окружности — 340 пикселей. Длина — PI*340= ~1070 пикселей. Обвел я эту окружность неспеша — за полсекунды гдето (хотя мона конечно программно померять интервал. За эти пол секунды мышка была опрошена 40 раз 1070/40 = 26.75. Это — шаг в пикселях рисования окружности, ограниченный _аппаратно_. USBшные мышки по дефолту опрашиваются 125 раз в секунду. И PS/2 и USB мыши можно "разогать" (настройками драйвера в реестре) увеличив частоту опроса до 200Гц. COMовские же мыши опрашиваются 40 раз в секунду и разгону не подлежат