Graphics

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen

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.

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:



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.
Quelle: Andreas Kühnel/Visual C# 2005


Einige Beispiele für die Anwendung des Paint-Ereignisses

Code und Ausgabe einer Linie:

Form mit 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:

Form mit Dreieck


<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:

Form mit Rechteck



<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:

Form mit farbgefülltem Rechteck



<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':

Form mit einem 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)