HBITMAP aus array erstellen
-
Hallo,
ich möchte aus einem Datenarray, das ich als Zeiger übergeben bekomme ein HBITMAP erstellen. In diesem Array sind alle Bitmapdaten vorhanden(BitmapHeaderInfo usw.)
Leider bekomme ich es nicht hin.Im Bitmap sind einfach keine Daten.(also es ist schwarz)
Kann mir jemand evtl einen Tip geben?
mfg
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Zeig mal Deinen aktuellen Code(-ausschnitt).
-
Moin,
also momentan sieht der Code so aus:
void __fastcall TVideo::FillBitmap(signed char *pBitmap ) { HDC hdcscreen=GetDC(0), hdc=CreateCompatibleDC(hdcscreen); ReleaseDC(0,hdcscreen); BITMAPINFO bi; BITMAPFILEHEADER *pbmfh = reinterpret_cast<BITMAPFILEHEADER *>(pBitmap); LPBITMAPINFOHEADER pbmih = reinterpret_cast<LPBITMAPINFOHEADER >(pBitmap + sizeof(BITMAPFILEHEADER)); bi.bmiHeader = *pbmih; signed char *pPix = &pBitmap[pbmfh->bfOffBits]; HBITMAP hbm=CreateDIBSection(hdc,(BITMAPINFO*)&bi,DIB_RGB_COLORS,(void**)&pPix,NULL,NULL); if(hbm == NULL) { Application->MessageBoxA("bitmap fehler", "Error", MB_OK); } SetDIBits( hdcscreen, // handle to DC hbm, // handle to bitmap 0, // starting scan line 480, // number of scan lines pPix , // array of bitmap bits &bi, // bitmap data DIB_RGB_COLORS // type of color indexes to use );mfg