[C#] Screenshot mit DrawToBitmap() auf den Desktop wie auf ein Control zugreifen?

Devilzimti

Grünschnabel
Abend,
ich habe grade per google folgenden Artikel gefunden:
http://www.microsoft.com/germany/ms...tsImHandumdrehenMitDrawToBitmap.mspx?mfr=true

Der Code:
Code:
  public Bitmap Screenshot(Control Ctrl)
      // Erstellt einen Screenshot des übergebenen Controls / der übergebenen Form.
      // Erfordert Microsoft .NET >= 2.0 (Control.DrawToBitmap)
      // Der Aufrufer ist für eine Entsorgung der returnierten Bitmap zuständig.
      {
         int w = Ctrl.Width;   // Breite des Controls / der Form
         int h = Ctrl.Height;  // Höhe des Controls / der Form

         // Bitmap für das Abbild des Controls / der Form bereitstellen
         Bitmap bmp = new Bitmap(w, h);

         // Screenshot vornehmen und zurückgeben
         Ctrl.DrawToBitmap(bmp, Rectangle.FromLTRB(0, 0, w, h));
         return bmp;
      }

Wie muss ich nun den Funktionsaufruf gestalten?

Code:
Screenshot(Desktop);

oO?

Bitte um Hilfe :D
 

Nil18

Erfahrenes Mitglied
Nein, du kannst mit der Mehtode keinen Screenshot vom Desktop machen, sondern nur von einem Control oder einer Form.

Code:
Bitmap bla = Screenshot(this.xxx);
Probier das mal.Wobei xxx für ein Control oder die Form steht.

Was mich nur irgendwie irritiert:
Code:
Ctrl.DrawToBitmap(bmp, Rectangle.FromLTRB(0, 0, w, h));
Wieso positioniert er auf Stelle 0,0 und nicht dort wo das Control liegt?

Naja, vl. verlangt das diese Methode so, hab nicht die Zeit um in die MSDN zu schaun, verzeiht mir :D
 

Norbert Eder

Erfahrenes Mitglied
Weil die DrawToBitmap -Methode des übergebenen Controls aufgerufen wird. Daher ist es durchaus sinnvoll, auch das gesamte Control zu capturen.
 

Nil18

Erfahrenes Mitglied
Achso, klar ... erscheint mir logisch ;)
Gibts auch eine Methode die den gesamten Screen captured?
Egal was sich gerade darauf befindet?
Also nicht nur ein Control oder eine Form, sondern eben "alles".
Das ließe sich dann nämlich gut mit diesem Thread verbinden.

//edit: Was mir gerade auffällt:
Warum kann man den Beitrag nicht direkt nach dem Posten editieren?
Ständig einmal zurück in die Threadübersicht gehen um dann nochmal in den Thread zu wechseln damit ich meinen Post bearbeiten kann ist doch irgendwie etwas nervig.
 
Zuletzt bearbeitet:

Neue Beiträge