C++-Screenshot

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
joggel

C++-Screenshot

Beitrag von joggel »

Moinsen ihr,

Ich suche eine Möglichkeit, oder am besten Bibliothek, mit der ich ein Screenshot vom gesamten Bildschirm und in eine Datei speichern kann.
Ich habe schon im Netz nach einer Lib gesucht, aber irgendwie nix gefunden...kann ich mir kaum vorstellen.
Ansich ist das ja kein großes Thema, aber möchte nicht meine Zeit damit vergeuden das selbst zu implementieren...

Kennt da irgendjemand eine Bibliothek (wichtig: VC 2008!!!) oder CodeSnippet?

Gruß
joggel

Re: C++-Screenshot

Beitrag von joggel »

Okay...update.
Ich habe jetzt den Screen in einem für mich verwendbaren Speicherbereich, also char* myData[ImageSize].
Header habe ich auch..
Benutzeravatar
Goderion
Beiträge: 82
Registriert: 16.09.2012, 12:02

Re: C++-Screenshot

Beitrag von Goderion »

Hallo.

Hier vielleicht ein interessanter Artikel:
https://www.codeproject.com/Articles/50 ... the-screen

Aus dem oben genannten Artikel:

Code: Alles auswählen

Void CaptureScreen()
{
    int nScreenWidth = GetSystemMetrics(SM_CXSCREEN);
    int nScreenHeight = GetSystemMetrics(SM_CYSCREEN);
    HWND hDesktopWnd = GetDesktopWindow();
    HDC hDesktopDC = GetDC(hDesktopWnd);
    HDC hCaptureDC = CreateCompatibleDC(hDesktopDC);
    HBITMAP hCaptureBitmap =CreateCompatibleBitmap(hDesktopDC, 
                            nScreenWidth, nScreenHeight);
    SelectObject(hCaptureDC,hCaptureBitmap); 
    BitBlt(hCaptureDC,0,0,nScreenWidth,nScreenHeight,
           hDesktopDC,0,0,SRCCOPY|CAPTUREBLT); 
    SaveCapturedBitmap(hCaptureBitmap); //Place holder - Put your code
                                //here to save the captured image to disk
    ReleaseDC(hDesktopWnd,hDesktopDC);
    DeleteDC(hCaptureDC);
    DeleteObject(hCaptureBitmap);
}
Ich glaube in dem Artikel steht auch, wie man das dann in eine Datei speichert.

EDIT: statt Vorschau auf Absenden ... NARF
Zuletzt geändert von Goderion am 06.04.2017, 11:19, insgesamt 1-mal geändert.
joggel

Re: C++-Screenshot

Beitrag von joggel »

Hallo,

ja, soweit war ich auch. Ich hatte aber nicht das BMP in eine Datei speichern können.
Aber ich habe jetzt dafür eine Lib gefunden: http://cimg.eu/
Antworten