Pages

Thursday, October 8, 2009

Win32 API: load bitmaps

Самый простой из форматов графических файлов это BMP. Видимо, потому что это "родной" формат для Windows. Очень легко загрузить bmp-картинку пользуясь только Win32 API.
Эта функция загрузит BMP-файл:
HBITMAP LoadPicture(LPCTSTR lpszFileName)
{
HBITMAP hBitmap = (HBITMAP)LoadImage(NULL, lpszFileName,
IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE);
return hBitmap;
}

Эта функция загрузит BMP-ресурс:
HBITMAP LoadPicture(UINT nResID)
{
HBITMAP hBitmap = (HBITMAP)LoadImage(GetModuleHandle(NULL),
MAKEINTRESOURCE(nResID), IMAGE_BITMAP, 0, 0,
LR_CREATEDIBSECTION | LR_DEFAULTSIZE);
return hBitmap;
}

Как видите, используется функция LoadImage - в первом случае вторым параметром передается имя файла, во втором случае - ID ресурса и добавляется еще один флаг в последнем параметре - LR_LOADFROMFILE.

No comments:

Post a Comment