Есть переменная:
char *bmp_data = (char*)malloc(sizeof(char)*2048);
Необходимо в переменную типа HANDLE запихать картинку (bitmap).
Вот код с загрузкой из ресурсов:
...
HADNLE image = LoadImage(g_hInstance, MAKEINTRESOURCE(IDB_BITMAP1), IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION);
HGDIOBJ oldimg = SelectObject(bitDC, image);
...
Соответственно в переменной bmp_data у меня будет уже сама BMP картинка (я её сгенирировал другой библиотекой). Вопрос: как "впихнуть" эту картинку в HANDLE для того чтобы дальше с ней рисовать и т.д. (я вывожу её на форму).
P.S. msvc 2008 ; только WinAPI
06.04.09 20:07: Перенесено модератором из 'C/C++' — Кодт
Здравствуйте, LukS, Вы писали:
[Skip]
Через WinAPI так просто не сделать. Советую создать временный файл и читать из него через LoadImage.
CreateBitmapIndirect может помочь, но там придется сначала самому пропарсать заголовок bitmap и подсунуть указатель с правильным смещением.
Здравствуйте, LukS, Вы писали:
LS>P.S. msvc 2008 ; только WinAPI
Bitmap storage,
CreateDIBitmap.
Спасибо. Получается есть 2 пути:
1. Загрузить картинку в temp-директорию (кстати, вопрос, а как определить где находиться "ApplicationData"? Т.е. папочка C:\Documents and Settings\[Skip]\Local Settings\Application Data)
2. Вручную парсить весь хидер...
Попробую поискать документацию по структурам BITMAPFILEHEADER, может что-нибудь выкопаю...