Graphics
Sämtliche Steuerelemente (die ja Objekte sind), auf die man mit den Methoden der Klasse Graphics zeichnen kann, benötigen, bzw. haben ein Graphics - Objekt, auf dem verschiedene Operationen zum Zeichnen ausgeführt werden.
- Das wären zum Beispiel:
- Form
- PictureBox
- Button
- u.s.w.
Die Klasse Graphics stellt keinen öffentlichen Konstruktor bereit. Das heißt, sie kann nicht instanziiert werden. Wie soll man sich dann ein Objekt der Klasse besorgen? Ganz einfach:
- man besorgt sich das Graphics-Objekt eben von dem jeweiligen Steuerelement - dafür hat man 3 Möglichkeiten:
- über die Methode CreateGraphics des jeweiligen Steuerelements
- über die statische Methode FromHWND der Klasse Graphics
- oder über das Paint-Ereignis eines Steuerelements, dessen Eventhandler man ein PaintEventArgs-Objekt übergibt. Dieses Objekt besitzt eine Eigenschaft Graphics, welche ein Graphics-Objekt zurückgibt.
Inhaltsverzeichnis
Die Methoden der Klasse Graphics mit einer Kurzbeschreibung:
Methode | Beschreibung |
---|---|
DrawArc | Zeichnet einen Ellypsenbogen. |
DrawBezier | Zeichnet eine durch vier Point-Strukturen definierte Bézier-Splinekurve. |
DrawBeziers | Zeichnet eine Reihe von Bézier-Splinekurven aus einem Array von Point-Strukturen. |
DrawClosedCurve | Zeichnet eine geschlossene Cardinal-Splinekurve, die durch ein Array von Point-Strukturen definiert ist. |
DrawCurve | Zeichnet eine Cardinal-Splinekurve, durch ein angegebenes Array von Point-Strukturen. |
DrawEllipse | Zeichnet eine Ellipse in einem umschließenden Rechteck. |
DrawLine | Zeichnet eine Linie zwischen zwei Punkten. |
DrawLines | Zeichnet mehrere Linien auf Basis eines Point-Arrays. |
DrawPie | Zeichnet ein Ellipsensegment. |
DrawPolygon | Zeichnet die Kontur eines Polygons. |
DrawRectangle | Zeichnet ein Rechteck anhand der Eckpunkte. |
DrawRectangles | Zeichnet mehrere Rechtecke anhand eines Rectangle-Arrays. |
DrawString | Zeichnet eine Zeichenfolge an einer bestimmten Position. |
FillEllipse | Zeichnet eine farbgefüllte Ellipse in einem umschließenden Rechteck. |
FillClosedCurve | Zeinet eine farbgefüllte geschlossene Cardinal-Splinekurve, die durch ein Array von Point-Strukturen definiert ist. |
FillPie | Zeichnet ein farbgefülltes Ellipsensegment |
FillPolygon | Zeichnet die farbgefüllte Kontur eines Polygons. |
FillRectangle | Zeichnet ein farblich ausgefülltes Rechteck anhand der Eckpunkte. |
FillRectangles | Zeichnet mehrere farblich ausgefüllte Rechtecke anhand eines Rectangle-Arrays. |
Einige Beispiele für die Anwendung des Paint-Ereignisses
Code und Ausgabe einer Linie:
<code=csharp> private void Form1_Paint(object sender, PaintEventArgs e) {
e.Graphics.DrawLine(new Pen(Color.Black), 10, 10, 100, 100);
} </code=csharp>
Code und Ausgabe eines Dreiecks:
<code=csharp>
private void Form1_Paint(object sender, PaintEventArgs e) {
Point[] x ={ new Point(10, 50), new Point(90, 10), new Point(180, 50), new Point(10, 50) }; e.Graphics.DrawPolygon(new Pen(Color.Black),x);
} </code=csharp>
Code und Ausgabe eines Rechtecks:
<code=csharp>
private void Form1_Paint(object sender, PaintEventArgs e) {
e.Graphics.DrawRectangle(new Pen(Color.Black), 10, 10, 100, 100);
} </code=csharp>
Code und Ausgabe eines farbgefüllten Rechtecks:
<code=csharp> private void Form1_Paint(object sender, PaintEventArgs e) {
e.Graphics.FillRectangle(new SolidBrush(Color.Brown), 10, 10, 100, 100);
} </code=csharp>
Code und Ausgabe eines Kreis':
<code=csharp> private void Form1_Paint(object sender, PaintEventArgs e) {
e.Graphics.DrawEllipse(new Pen(Color.Black), 10, 10, 100, 100);
} </code=csharp>
--Jango 14:35, 28. Dez 2007 (CET)