Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
3 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 351
1

Перерисовка динамики

26.11.2014, 17:25. Показов 656. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! Правильно ли я понимаю парадигму рисования (перерисования) в WINAPI: если нужно перерисовать какую-то область, то нужно эту область закрасить объектом (например, прямоугольником) и поверх него нарисовать то, что нужно?
То есть для представления динамики, например рисуем бегущего человечка, нужно область, где нарисованы его ноги (при условии, что двигаются только они), зарисовать каким-нибудь прямоугольником и поверх нарисовать новые ноги. И так каждый раз...
Верно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2014, 17:25
Ответы с готовыми решениями:

Перерисовка окна
Подскажите, как по нажатию клавиши перерисовать окно

Перерисовка окна
Дано: оконная программа, главное окно разделено пополам двумя дочерними. Рисуешь в одном дочернем...

Перерисовка окна
Помогите реализовать двойную буферизацию для программы. У меня следующая проблема: написан код...

Перерисовка окна
Здравствуйте. Нужно создать приложение, которое в случайном порядке скрывает кнопки калькулятора....

7
120 / 142 / 46
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
26.11.2014, 18:46 2
ну примерно так, или винда сама будет очищать тебе канву, на которой ты должен заново нарисовать свой рисунок
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.11.2014, 18:56 3
Ну если охота мигать, то так. Но вообще рисовать надо во внеэкранном буфере, а там хоть подтирайте цветом фона отдельно старое положение ног, хоть ограничивающий прямоугольник переливайте фоном, хоть переливайте вообще весь буфер. А когда буфер готов, то уже целиком выводите его на экран.
0
120 / 142 / 46
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
26.11.2014, 19:01 4
Цитата Сообщение от taras atavin Посмотреть сообщение
Но вообще рисовать надо во внеэкранном буфере
Не пугай его
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.11.2014, 19:17 5
Лучше, если он сначала сделает мигающую перерисовку, а потом его напугают объёмами перелопачивания всех упонинаний контекста устройства? Как бы меньше будет страха, если сделать только мигающую чёрточку, потом переписать её на внеэкранный буфер и доделать рисование динамики уже с буфером, чем при необходимости исправлять готовое.
0
3 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 351
28.11.2014, 05:28  [ТС] 6
Цитата Сообщение от taras atavin Посмотреть сообщение
внеэкранный буфер
Напишите функцию, которая возвращает хендл такого буфера...
0
dmitry94
28.11.2014, 07:20
  #7

Не по теме:


Вообще для прорисовки "динамики" GDI довольно слабо подходит, только какой-нибудь совсем уж примитивной графики. Будет тормозить и использование двойной буферизации не увеличит скорость, лишь устранит мерцание.

0
120 / 142 / 46
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
28.11.2014, 08:11 8
Цитата Сообщение от BESSON_off Посмотреть сообщение
Напишите функцию, которая возвращает хендл такого буфера...
C++
1
CreateCompatibleDC()
http://msdn.microsoft.com/ru-r... s.85).aspx
0
28.11.2014, 08:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2014, 08:11
Помогаю со студенческими работами здесь

Перерисовка окна
Рисую в окне мышкой, естественно через события мыши, но стоит только развернуть окно на весь экран...

Перерисовка окна
Рисую эллипс. При нажатии не системной клавиши, он должен перерисовываться с другими размерами. В...

Перерисовка окна
Есть небольшой графический редактор с элементами меню. После изменения окна ( минимизация,...

Перерисовка контрола static
В общем ситуация же как и у этого человека...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru