R
Hallo, ich versuche verzweifelt an schnelle Windows API - Graphik zu kommen. Aus irgendeinem Grunde kann er keine
Farbe mit dem BitBlt Befehl machen. Es funktioniert nur mit einem nBitCount von 1 im Erzeuger
der Bitmap-Datenstruktur mit CreateBitmap. Jeder anderer Parameter hat zur Folge, daß gar kein
Bild kommt. Der direkte SetPixel - Befehl kann Farbe, nur der ist zu langsam. Ich habs unter MinGW/bin
compiliert, aber auch mit Dev C++ probiert, es ist immer der gleiche Mist. Ich habe Windows 10. Weiss Jemand, woran es liegen könnte ?
HWND wnd = GetConsoleWindow();
HDC hdc = GetDC( wnd );
char ImagAry[300000];
for(int i=0; i<300000; i++) { ImagAry[i] = 5; };
HBITMAP Imag =
CreateBitmap(
300, // [in] int nWidth,
300, // [in] int nHeight,
1, // [in] UINT nPlanes,
1, // [in] UINT nBitCount,
ImagAry // [in] const VOID *lpBits
);
HDC memDC = CreateCompatibleDC( hdc );
// HBITMAP hbmp = ske_CreateDIB32(mWidth, mHeight);
HBITMAP holdbmp = (HBITMAP) SelectObject(memDC, Imag); // hbmp);
GetObject( (HGDIOBJ) Imag, sizeof( Imag ) , &Imag);
for(int j=0; j<255; j+=26)
for(int i=0; i<255; i++)
SetPixel( memDC, i, j, RGB(200,i, 0) );
if ( BitBlt( hdc, 4,4, 300, 300, memDC, 1, 1, SRCCOPY)
) Kz('S'); // Selbstgemachter Konsolenoutput.
else Kz('F');
DeleteDC( memDC );
DeleteObject( Imag );
ReleaseDC( wnd , hdc);