char array in bitmap umwandeln
-
Hallo zusammen,
eine Anwendung liefert mir ein 640*480 unsigned char array in dem in jedem Feld genau 1 Pixel eines 8 Bpp codierten Bitmaps gespeichert ist.
Das ganze soll jetzt als 'echtes' BMP gespeichert werden, bzw im nächsten Schritt an eine Fkt übergeben werden, die mir daraus ein AVI macht.Hier mein bisheriger Ansatz:
HDC hdcscreen=GetDC(0); HDC hdc=CreateCompatibleDC(hdcscreen); ReleaseDC(0,hdcscreen); HBITMAP memBM = CreateCompatibleBitmap ( hdcscreen,640,480 ); SetBitmapBits(memBM,sizeof(cur_pic.image),&(cur_pic.image)); //cur_pic.image ist das char array SelectObject ( hdc, memBM ); AddAviFrame(avi,memBM); //hier kommt die Übergabe an die AVI-FktAllerdings bleibt memBM im Debugger immer bei 0x000000.
Kann das so überhaupt funktionieren, oder muss da noch mehr passieren?Besten Dank!
MfG,
Markus
-
Das ist WinAPI spezifisch, also falsches Forum.
-
Mea culpa, mea maxima culpa.
Werde sofort umziehen mit dem Thread.
MfG,
Markus
-
Nicht falsch verstehen. Die Chance, dass jemand dir hilft, weil er sich damit auskennt, ist im richtigen Forum wesentlich höher.
Weil viele Leute nur im WinAPI-Forum schnüffeln, die dafür nicht im C++ oder Java Forum gucken.
-
unsigned char cBuffer[640 * 480]; // Das Chararray HBITMAP hBitmap = ::CreateBitmap(640, 480, 1, 8, cBuffer);Keine Garantie, dass es so funktioniert, aber eigentlich sollte es so gehen.
Referenz:
::CreateBitmap(...)Grüssli
-
Greetz, Swordfish