Mittwoch, 30. Juli 2008

Dot Net (C#): Screenshot von einem Control erzeugen

Folgende zwei Methoden sind nötig, um einen Screenshot von einem Control zu erzeugen und diesen in eine Datei zu speichern:

   1:  public static Bitmap takeScreenshot(Control pControl)
   2:  {
   3:      Bitmap bmp = new Bitmap(pControl.Width, pControl.Height);
   4:      pControl.DrawToBitmap(bmp, Rectangle.FromLTRB(0, 0, pControl.Width, pControl.Height));
   5:      return bmp;
   6:  }
   7:   
   8:  public static Boolean saveScreenshotToFile(Control pControl, String pFilename)
   9:  {
  10:      try
  11:      {
  12:          takeScreenshot(pControl).Save(pFilename);
  13:          return true;
  14:      }
  15:      catch (Exception)
  16:      {
  17:          return false;
  18:      }
  19:  }

Die erste Methode nimmt einen Screenshot auf und speichert diesen in einem Bitmap-Objekt. Die zweite Methode kann genutzt werden, um den Screenshot direkt in eine Datei zu speichern.

1 Kommentar:

kabelsalat hat gesagt…

Danke, das war sehr hilfreich!