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

Показать сообщение отдельно
pva pva вне форума

Аватара для pva

Ветеран


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

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


Admiral, по поводу масок прозрачности, если принципиальна скорость выполнения и много работы с перемножением картинок, а также не жалко ресурсов, то можно использовать d3d (совместно с GDI+ можно через поверхности IDirect3DSurface7, а можно и без GDI+). Я делал проигрыватель видеороликов "картинка в картинке", а-ля назойливая реклама в телеке. 1280x1024@30fps, GDI+ полностью загружает одно ядро, а d3d (перебрал все виды альфаблендинга) процентов на 5-10.
Если требуется небольшая картинка и скорость смены кадров 1-2 fps, то врукопашную перемножить 2 массива сгодится.
С d3d алгоритм такой: на скрытую поверхность копируем часть экана, делаем что надо, копируем обратно. Окно, к которому привязан объект d3d - не показываем. В более поздних directX это сделано в Direct2D
Цитата crashtuak:
Только вот при InvalidateRect появляется мерцание... »
с мерцанием борются WS_EX_COMPOSITED - двойная буферизация
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:17, 26-01-2010 | #12