![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Serzh |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 30.9.2003 Где: SPb Репутация: нет Всего: нет |
скорее всего глупый вопрос и неоднократно задаваемый.
заранее прошу не посылать. ![]() в ресурсах есть BMP'хи - используются, как спрайты maskblt - выводит их на форму вобщим и усе. но изоброжение все моргает, по этому надо использовать память и туда прорисовывать все объекты. а потом всю эту память на форму загнать. вот этого я и не знаю. заранее спасибо. и если можно исходник или кусок кода. |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
тебе надо исползовать проекцию файла в память и юзать функции
CreateFileMapping MapViewOfFile -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Ars |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 28.8.2003 Где: Московская обл. Репутация: 2 Всего: 2 |
Нужно создать контекст в памяти с помощью СreateCompatibleDC, выбрать в нем битмапу соответствующего размера, нарисовать все, что нужно , а потом вывести в окно (BitBlt).
-------------------- Есть многое на свете, друг Горацио, С чем очень долго можно прое..! |
|||
|
||||
Serzh |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 30.9.2003 Где: SPb Репутация: нет Всего: нет |
мдя...
ни чего не понял, если можно, дайте примерчики. заранее спасибо. |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
После этого вы работаете с проекцией файла -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Ars |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 28.8.2003 Где: Московская обл. Репутация: 2 Всего: 2 |
Step, и чего он с этим добром будет делать? Ему надо рисовать в памяти API-шными функциями. Рисовать можно в контексте. Контекст надо получить с помощью функции CreateCompatibleDC. Полученный контекст нужно снабдить битмапом размера окна, т.к. свой битмап у вновьсозданного контекста очень маленький (1х1). Для этого создаем битмап (любым способом, например, CreateCompatibleBitmap). Выбираем созданный битмап в созданный же контекст (SelectObject). Рисуем в контексте все что нужно обычным способом. Копируем нарисованное из нашего контекста в контекст окна ф-цией BitBlt. И так каждый кадр.
-------------------- Есть многое на свете, друг Горацио, С чем очень долго можно прое..! |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Ars, зачем ему контекст совместимый, если он может спроецировать ресурс в память и мигание прекратится
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Ars |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 28.8.2003 Где: Московская обл. Репутация: 2 Всего: 2 |
Ну, я так понимаю, мигает изображение при перерисовывании окна. А ресурс - он и так в памяти... -------------------- Есть многое на свете, друг Горацио, С чем очень долго можно прое..! |
|||
|
||||
knave |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 6.3.2003 Где: Санкт-Питербург ( Россия) Репутация: 1 Всего: 5 |
Ars Прав. ту надо елать контескт памяти совместимый с конеткстом окна. Все внем рисовать а потом перетаскивать в окно BitBlt.
См CreateCompatibleDC CreateCompatibleBitmap Работа с контекстом памяти такая же как и с контекстом окна, черзез апи функции. Так что тебе в твоей проге особо и переделывать ничего не придется, просто нужно перенаправить весь вывод не на НDC окна а на НDC твоего контескта памяти. А когда ты выведеш весь кадр тебе надо его при помощи BitBlt перенести (скопировать) в контекст окна. -------------------- С наилучшими пожеланиями !!! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |