wc.style - CSJREDRAW | CSJREDRAW;
wc.lpfnWndProc - InputWndProc;
wc.cbClsExtra - wc.cbWndExtra- 0;
if(!RegisterClassEx(&wc)) return FALSE;
HWND hWnd-CreateWindow(Name.Трафика".
WSJISIBLE I WS_OVERLAPPEDWINDOW.200.
200.480 .250.NULL.NULL.KodPri1.NULL);
if (IhWnd) return 2;
return 0;
}
В результате рисунок в окне будет формироваться на фоне растровой картинки. При завершении приложения необходимо при помощи функции Del eteObject () уничтожить кисть hbr и картинку hbm. Для этого в функцию Finish О добавлены следующие операторы:
DeleteObject(hbr);//Уничтожения кисти недостаточно Del eteObject (hbm) -.//надо уничтожить и картинку
Редактор ресурсов при создании изображений позволяет использовать только 256 цветов, поэтому картинка получается не слишком реалистичной. Но выбор при добавлении ресурса Bitmap пункта Import позволяет включить в файл ресурсов картинку с цветовой глубиной, которая может достигать 16 или 24 бит. Можно также загружать изображения не из ресурса, а из файлов. Показанное на рис. 12.1 изображение космического корабля можно было загрузить из файла stereo0.bmp при помощи следующего фрагмента кода:
HBITMAP hbm - (HBITMAP)LoadImage(NULL."stereo0.bmp".
IMAGEJITMAP .0.0. LR_LOADFROMFILE);
Эта универсальная функция позволяет загружать курсоры, пиктограммы и растровые изображения как из ресурса, так и из графических файлов. На рис. 12.1 показана картинка, предназначенная для просмотра через стереоочки, поэтому четные и нечетные строки растра содержат изображения корабля с разных точек наблюдения.
Изменение элементов контекста
Рис. 12.1. Изображение космического корабля Вывод показанных на рис. 12.1 прямоугольника, заштрихованного эллипса и кольца выполняется функцией OnPai nt ( ), код которой приведен в листинге 12.2.
Листинг 12.2
void OnPaint(HWND hWnd.UINT message.WPARAM wParam.LPARAM IParam) {
PAINTSTRUCT ps"opengl4_154.html">⇐ Предыдущая| |Следующая ⇒