задержка на 1мс
|
![]() Guest |
Помогите! Нужно зделать задержку 1мс при рисовании геометрических фигур по точка. Sleep() не роботает как надо. Он задерживает начало роботы програмы.
|
|
Отправлено: 13:38, 12-10-2004 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Подробнее, пожалуйста. Что за "по точка"?
|
Отправлено: 13:55, 12-10-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Guest |
Линия рисуется по точках. Из файла считиваються координаты начала и конца линии, и надо чтобы было видно как рисуется каждая точка етой линии. Для етого нужна задержка.
|
Отправлено: 14:29, 12-10-2004 | #3 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Опять непонятно. "Каждая точка линии" - это растровый пиксел? Или отрезок до координаты + сама координата?
|
Отправлено: 14:44, 12-10-2004 | #4 |
![]() Guest |
да ето пиксел
|
|
Отправлено: 14:48, 12-10-2004 | #5 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Как я понимаю, Вы работаете под виндой. Тогда у Вас есть два пути:
1. Использовать свой GDI для рисования линий. Берёте алгоритм Брезенхема (лучше оптимизированный) и пишите свою Line() 2. Использовать родной GDI. Тогда процедура отрисовки линии приобретёт вид множественного вызова стандартной Line() для маленького кусочка линии, соизмеримого по размеру с пикселом. Используя текущий dpi монитара, Вы можете приблизительно прикинуть, сколько занимает одна точка, "настрогать" ил обычной линии много маленьких и отрисовывать их. |
Отправлено: 14:54, 12-10-2004 | #6 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Есть функция LineDDA или как-то так (ищи в хелпе). Она запрашивает начальную и конечную точки отрезка и функцию, в которую будет пихать каждую координату точек в этом отрезке. Sleep() нужно делать внутри этой функции, напр.:
:code: void __stdcall drawPts(POINT* pt, LPARAM dc) { PutPixel(HDC(dc), pt->x, pt->y, 0); Sleep(1); } ... LineDDA(0, 0, 10, 10, drawPts, LPARAM(dc)); :/code: Пример не точный, а только показывает саму идею; корректируй его в соответствии с хелпом. |
Отправлено: 12:30, 18-11-2004 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
большая задержка памяти | officer_Barbrady | Материнские платы и память | 12 | 24-05-2009 20:46 | |
[решено] Задержка курсора | wellhard | Непонятные проблемы с Железом | 23 | 14-03-2009 14:56 | |
Задержка загрузки FreeBSD | Interceptor | Железо во FreeBSD | 1 | 18-12-2007 12:28 | |
Задержка на экране | ezdefighter | Программирование и базы данных | 2 | 24-12-2004 23:16 | |
Assm - Задержка времени в assembler | Guest | Программирование и базы данных | 1 | 14-07-2004 12:42 |
|