Hier soll an einem Beispiel gezeigt werden wie man einen Screenshot einer Form in C# realisiert.
Vorraussetzungen
Brauchen tut man hierfür folgendes:
* Eine Form von welcher der Screenshot geamcht werden soll
* Ein Bitmap-Objekt in der der Screenshot zur weiteren verarbeitung abgelegt wird
Erklärung
Als erstes legt man Sinnvollerweise das Bitmap-Objekt an, da man dort den Screenshot rein legen möchte.
Als parameter gibt man für ein Screenshot eines Formulares einfach die breite und höhe dieses Formulares an:
1 | Bitmap bmp = new Bitmap(this.Width, this.Height); |
Danach können wir mit der Methode „DrawToBitmap()“ der Form einen Screenshot dieser in das Bitmap-Objekt legen.
Als Paramter gibt man das Bitmap-Objekt an, und zusätzlich die Abmessungen des Bereiches.
Der Name „FromLTR“ steht hier für Left/Top/Right/Bottom.
1 | this.DrawToBitmap(bmp, Rectangle.FromLTRB(0, 0, this.Width, this.Height)); |
Exemplarisches Beispiel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Imaging; using System.Text; using System.Windows.Forms; namespace screenshot { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // Bitmap für das Abbild des Controls / der Form bereitstellen Bitmap bmp = new Bitmap(this.Width, this.Height); // Screenshot vornehmen und zurückgeben , speichern (LTRB = Left/Top/Right/Bottom) this.DrawToBitmap(bmp, Rectangle.FromLTRB(0, 0, this.Width, this.Height)); bmp.Save("screenshot.png", ImageFormat.Png); } } } |
Login