Periodisch Screenshots erstellen

  • C#

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von MrCrunch.

    Periodisch Screenshots erstellen

    Guten Abend.
    Ich bräuchte mal wieder eure Hilfe.

    Ich habe eine Methode "geschrieben", um Screenshots zu erstellen. (Im Endeffekt wird nur ne Bitmap mit den Bildschirmmaßen erstellt)
    Nun möchte ich periodisch Screenshots erstellen lassen.
    Also dachte ich mir ich pack das ganze einfach in einen Timer und lasse diesen mit einem schnellen Interval laufen ( <= 100 ).
    Jedoch taucht nun nach ein paar erstellen Screenshots (~100) gerne mal eine "ArgumentException - Ungültiger Parameter" auf. ( Zeile 3 )

    Quellcode

    1. public Bitmap CaptureScreen()
    2. {
    3. Bitmap b = new Bitmap(1920, SystemInformation.VirtualScreen.Height);
    4. Graphics g = Graphics.FromImage(b);
    5. g.CopyFromScreen(0, 0, 0, 0, b.Size);
    6. g.Dispose();
    7. return b;
    8. }


    Nun zu meiner Frage. Wie kann ich es schaffe, periodisch Screenshots zu erstellen ohne das mit das ganze nach 100 Stück um die Orhren fliegt.
    Ist ein Timer dafür überhaubt geeignet?

    Schonmal danke für eure Hilfe

    PS: Wozu ich das Programm brauche? Ich will einige meiner Arbeitsschritte dokumentieren, vorzugsweise als *.gif
    Deßwegen dachte ich mir ein Programm zu schreiben, wechles Screenshots erstellt aus denen ich dann mithilfe von zB GIMP ein *.gif baue.
    Außerdem wollte ich die Software selber schreiben. Finde ich meistens "angenehmer" als eine runterzuladen.
    Bitmaps müssen IHMO freigegeben werden. Die gif kannst du auch mit .Net-Mitteln realisieren ;)
    Also ich mach jetzt zuerst b.save und darauf b.dispose

    Scheint zu funktionieren.
    Ich bedanke mich für die hilfe.





    Manchmal merke ich, das ich noch am Anfang von C# bzw OOP stehe ^^
    Sollte ab und zu mal einen Blick ins MSDN werfen :P