SetPi xel V(hdcMemD.i.j.Cvet);
}
//Сформированное в контексте hdcMemD изображение выводится на экран Bi tBl t(hdc.x.у.bi tmap.bmWi dth.bi tmap.bmHei ght.hdcMemD.0.0.SRCCOPY); }
Перед обращением к функции необходимо кроме загрузки картинки из файла, подготовить контексты изображения и памяти, а перед завершением приложения эти объекты должны быть уничтожены.
Вызывая функцию с разными коэффициентами, можно получать изображения темнее и светлее исходной картинки (рис. 17.4), изменять соотношения между компонентами цвета:
GDIBitMapChdcMemS.hdcMemD.0.9.0.9.0.9.5.10); GDIBi tMap(hdcMemS.hdcMemD.1.4.1.4.1.4.135.10): GDIBi tMap(hdcMemS.hdcMemD.2.2.2.265.10):
Для того, чтобы засечь время начала и конца обработки изображения, а потом показать результат на экране, требуется написать более десяти строчек кода. ЧтоНепосредственный доступ к графическим данным бы постоянно не повторять в примерах однотипные операторы, в заголовочный файл Utils.h включены макросы, облегчающие организацию измерений.
Рис. 17.4. Изменение яркости изображения Макрос TimeCaption(hWnd Jxt.Func.Res) измеряет время выполнения функции Func в микросекундах и заносит его в переменную *Res. Если hWnd! - 0, то текст Txt и значение времени выводятся также в заголовок окна. Например, следующий оператор запишет время выполнения в переменную Т"opengl4_196.html">⇐ Предыдущая| |Следующая ⇒