Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » задержка на 1мс

Ответить
Настройки темы
задержка на 1мс

Аватара для Guest

Guest



Профиль | Цитировать


Помогите! Нужно зделать задержку 1мс при рисовании геометрических фигур по точка. Sleep() не роботает как надо. Он задерживает начало роботы програмы.

Отправлено: 13:38, 12-10-2004

 

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Подробнее, пожалуйста. Что за "по точка"?

Отправлено: 13:55, 12-10-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Guest

Guest


Профиль | Цитировать


Линия рисуется по точках. Из файла считиваються координаты начала и конца линии, и надо чтобы было видно как рисуется каждая точка етой линии. Для етого нужна задержка.

Отправлено: 14:29, 12-10-2004 | #3


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Опять непонятно. "Каждая точка линии" - это растровый пиксел? Или отрезок до координаты + сама координата?

Отправлено: 14:44, 12-10-2004 | #4


Аватара для Guest

Guest


Профиль | Цитировать


да ето пиксел

Отправлено: 14:48, 12-10-2004 | #5


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Как я понимаю, Вы работаете под виндой. Тогда у Вас есть два пути:
1. Использовать свой GDI для рисования линий. Берёте алгоритм Брезенхема (лучше оптимизированный) и пишите свою Line()
2. Использовать родной GDI. Тогда процедура отрисовки линии приобретёт вид множественного вызова стандартной Line() для маленького кусочка линии, соизмеримого по размеру с пикселом. Используя текущий dpi монитара, Вы можете приблизительно прикинуть, сколько занимает одна точка, "настрогать" ил обычной линии много маленьких и отрисовывать их.

Отправлено: 14:54, 12-10-2004 | #6

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить 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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » задержка на 1мс

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
большая задержка памяти 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




 
Переход