Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

не знаю, как там в VC? но вообще в винде рисовать принято так...

Отправлено A_R_V (172.20.20.23,87.117.1.141) 30 июня 2011, г. 16:24
В ответ на: smb, я вот не пойму. У меня есть массив COLORREF 800*600. Я в нем рисую, а потом следует череда не понятных мне конвертаций COLORREF ARR -> CBitmap - > tempDC -> AppDC. А нельзя ли число посредников уменьшить ? отправлено MegaJohn 30 июня 2011, г. 10:43

если рисовать при помощи GDI сразу в контекст окна программы, то при каждой модификации картинки надо окно сначала очистить, а потом рисовать следующий кадр, что выливается в сильное мерцание - не помогают никакие ускорители.
если же создать виртуальный контекст тех же размеров и параметров, что и окно проги, и рисовать в него, а затем копировать его в оконный контекст - это происходит мгновенно и не сопровождается мерцанием.
аналогично можно рисовать в контекст BMP (т.е. массив по сути), а потом делать то же самое... т.е. превращать массив в контекст, затем контекст копировать в другой контекст...

вам надо сделать CreateCompatibleDC или хотя бы CreateDC, чтобы получить совместимый с окном контекст, затем рисовать в нем без всяких массивов при помощи GDI-функций, а затем скопировать этот контекст (функции GDI для этого я не помню, но они легко находятся в хелпе), то есть можно отлично обойтись без массива и лишних преобразований. Главное, не забыть этот вспомогательный контекст удалить своевременно, чтобы не было утечки ресурсов.


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
отымите от 2 единицу:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru