Hallo,
ich habe einen Screenshot gemacht und die Daten mithilfe der Funktion GetDIBits() in ein Char-Array geschrieben.
Hat auch super funktioniert. Jetzt würde ich eine neue Bitmap erstellen mit genau diesen Daten im Char-Array. Ich habe nur die Funktion SetDIBits() gefunden,
aber mit der funktioniert es leider nicht. Oder ich verwende sie nur falsch.
Hier mein Code:
Bei SetDIBits ist hdcTemp NULL oder so, ich habe da noch nichts damit gemacht.
Danke schon mal für alle Antworten...
grüße
ich habe einen Screenshot gemacht und die Daten mithilfe der Funktion GetDIBits() in ein Char-Array geschrieben.
Hat auch super funktioniert. Jetzt würde ich eine neue Bitmap erstellen mit genau diesen Daten im Char-Array. Ich habe nur die Funktion SetDIBits() gefunden,
aber mit der funktioniert es leider nicht. Oder ich verwende sie nur falsch.
Hier mein Code:
Code:
GetDIBits(hdcScreen = GetWindowDC(NULL);
hbmScreen = CreateCompatibleBitmap(hdcScreen, iPC_Bildschirm_Width, iPC_Bildschirm_Height);
// temporärer DC
hdcTemp = CreateCompatibleDC(hdcScreen);
// Bitmap reinselektieren
hbmOld = (HBITMAP)SelectObject(hdcTemp, hbmScreen);
// Inhalt von Desktop übertragen
BitBlt(hdcTemp, 0, 0, iPC_Bildschirm_Width, iPC_Bildschirm_Height, hdcScreen, 0, 0, SRCCOPY);
GetDIBits(hdcTemp, hbmScreen, 0, iPC_Bildschirm_Height, cPC_bitmap, &infobmp, DIB_RGB_COLORS); //Damit schreibe ich die Daten in das Array cPC_bitmap
Code:
SetDIBits(hdcTemp, hbmScreen, 0, iPC_Bildschirm_Height, cPC_bitmap, &infobmp, DIB_RGB_COLORS); //und hier wollte ich die Bitmap hbmScreen mit den Array-Daten erstellen
Bei SetDIBits ist hdcTemp NULL oder so, ich habe da noch nichts damit gemacht.
Danke schon mal für alle Antworten...
grüße