Bitmap dynamisch erstellen
-
Hi,
ich weis echt nicht mehr weiter.
Ich möchte ein Bitmap wären der Laufzeit verändern, oder überhaupt erstmal "erschaffen".
So in der Art:char* buffer = new char[200*200*4]; int ii(0); for(int x(0); x<200; ++x) for(int y(0); y<200; ++y) { buffer[ii] = 100; ++ii; buffer[ii] = 100; ++ii; buffer[ii] = 100; ++ii; buffer[ii] = 100; ++ii; }und dann dieses "Bild" auf dem DC darstellen mittels BitBlt(...).
Bisher so, aber funktioniert nicht:case WM_PAINT: { hdc = BeginPaint(hWnd, &ps); BITMAP bmp; HDC hDCBmp(CreateCompatibleDC(hdc)); HBITMAP hBitmap = CreateCompatibleBitmap(hdc,width,height); SetBitmapBits(hBitmap,width*height*4,pixelBuffer); SelectObject ( hdc, hDCBmp ); //SetPixel(hDCBmp,100,100,col); (BitBlt(hdc,0,0,width,height,hDCBmp,0,0,SRCCOPY)); EndPaint(hWnd, &ps);Wie erstelle ich ein Bitmap und wie wende ich es dann an?
Ich weis nicht mehr weiter...
Ciao ...
-
Lies am besten mal ganz in Ruhe die Doku: http://msdn.microsoft.com/en-us/library/dd183377(VS.85).aspx
-
Lies am besten mal ganz in Ruhe die Doku: http://msdn.microsoft.com/en-us/library/dd183377(VS.85).aspx
Naja, da steht dann sowas wie BMP's gespeichert werden oder so. Aber das bringt mich auch nicht richtig weiter.... sry
-
Doch tut es. Sei mal nicht so faul.
-
Okay, dann werde ich mir mal alle Kapitel durchlesen.. MSDN|ler
-
Okay danke für eure hilfe ...*grmpf*.. ^^.
Der Fehler lag im Detail
.
in meinem Quellcode habe ich das hochzähler der "ii"-variable vergessen, es worden also immer nur die ersten 4 Byte beschrieben, dewegen kamm nonsense raus.Ciao ---