Мне нужно создать HBITMAP.Рисование растрового изображения из памяти
В этом проблема. У меня есть содержимое файла bmp в памяти.
Я знаю, как создать HBITMAP, если битмап был как ресурс. Но так как это в памяти, я не знаю, как это сделать.
Я делаю это так (если ресурс): Link
hDC = BeginPaint(hWnd, &Ps);
// Load the bitmap from the resource
bmpExercising = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_EXERCISING));
// Create a memory device compatible with the above DC variable
MemDCExercising = CreateCompatibleDC(hDC);
// Select the new bitmap
SelectObject(MemDCExercising, bmpExercising);
// Copy the bits from the memory DC into the current dc
BitBlt(hDC, 10, 10, 450, 400, MemDCExercising, 0, 0, SRCCOPY);
// Restore the old bitmap
DeleteDC(MemDCExercising);
DeleteObject(bmpExercising);
EndPaint(hWnd, &Ps);
Пожалуйста, наставит меня о том, как это сделать, если бы это был ресурс памяти. Как-то изменить char img[10000]
в ресурс? Здесь img
- это память, убирающая содержимое растрового изображения.
CreateDIBitmap - это то, что вам нужно, но это сложная функция. Осмотрите пример кода. – john
Можете ли вы показать мне пример? Я действительно много искал ... – 2013-04-19 11:26:50
[createDIBSection] (http://msdn.microsoft.com/en-us/library/windows/desktop/dd183494%28v=vs.85%29.aspx), [GetDIBits] (http://msdn.microsoft.com/en-us/library/windows/desktop/dd144879%28v=vs.85%29.aspx) –