не совсем уверен, в чем ваша проблема: нарисуйте растровое изображение на форме, или вы хотите знать, как работать с различными форматами изображений, или с обоими. В любом случае ниже приведен пример того, как вы можете загрузить растровое изображение и нарисовать его в форме:
HBITMAP hBitmap = NULL;
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
switch (message)
{
<...>
case WM_CREATE:
hBitmap = (HBITMAP)LoadImage(hInst, L"c:\\test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
break;
case WM_PAINT:
PAINTSTRUCT ps;
HDC hdc;
BITMAP bitmap;
HDC hdcMem;
HGDIOBJ oldBitmap;
hdc = BeginPaint(hWnd, &ps);
hdcMem = CreateCompatibleDC(hdc);
oldBitmap = SelectObject(hdcMem, hBitmap);
GetObject(hBitmap, sizeof(bitmap), &bitmap);
BitBlt(hdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY);
SelectObject(hdcMem, oldBitmap);
DeleteDC(hdcMem);
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
DeleteObject(hBitmap);
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
LoadImage загружает значок, курсор, анимированный курсор или растровое изображение. Подробности здесь
Для работы с различными форматами изображений вы можете использовать Windows Imaging Component (см. IWICBitmapDecoder ) или код здесь Загрузка изображений JPEG и GIF или сторонние инструменты, такие как FreeImage или LeadTools
надеюсь, это поможет, с уважением