Stifte, Linien und Rechtecke in GDI+

Zum Zeichnen von Linien mit GDI+ müssen Sie ein Graphics-Objekt und ein Pen-Objekt erstellen. Das Graphics-Objekt stellt die Methoden bereit, die die Zeichnung tatsächlich ausführen, und das Pen-Objekt speichert Attribute, z. B. Linienfarbe, -stärke und -stil.

Zeichnen einer Linie

Zum Zeichnen einer Linie rufen Sie die DrawLine-Methode des Graphics-Objekts auf. Das Pen-Objekt wird als eins der Argumente an die DrawLine-Methode übergeben. Im folgenden Beispiel wird eine Linie vom Punkt (4, 2) bis zum Punkt (12, 6) gezogen:

myGraphics.DrawLine(myPen, 4, 2, 12, 6);
myGraphics.DrawLine(myPen, 4, 2, 12, 6)

DrawLine ist eine überladene Methode der Graphics-Klasse. Daher gibt es mehrere Möglichkeiten, wie Sie ihr Argumente übergeben können. Sie können beispielsweise zwei Point-Objekte erstellen und die Point-Objekte als Argumente an die DrawLine-Methode übergeben:

Point myStartPoint = new Point(4, 2);
Point myEndPoint = new Point(12, 6);
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint);
Dim myStartPoint As New Point(4, 2)
Dim myEndPoint As New Point(12, 6)
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint)

Erstellen eines Stifts

Sie können bestimmte Attribute angeben, wenn Sie ein Pen-Objekt erstellen. Beispielsweise gestattet Ihnen ein Pen-Konstruktor die Angabe von Farbe und Stärke. Im folgenden Beispiel wird eine blaue Linie der Stärke 2 von (0, 0) bis (60, 30) gezogen:

Pen myPen = new Pen(Color.Blue, 2);
myGraphics.DrawLine(myPen, 0, 0, 60, 30);
Dim myPen As New Pen(Color.Blue, 2)
myGraphics.DrawLine(myPen, 0, 0, 60, 30)

Gestrichelte Linien und Linienenden

Das Pen-Objekt macht auch Eigenschaften verfügbar, z. B. DashStyle, mit denen Sie Merkmale der Linie angeben können. Im folgenden Beispiel wird eine gestrichelte Linie von (100, 50) bis (300, 80) gezogen:

myPen.DashStyle = DashStyle.Dash;
myGraphics.DrawLine(myPen, 100, 50, 300, 80);
myPen.DashStyle = DashStyle.Dash
myGraphics.DrawLine(myPen, 100, 50, 300, 80)

Sie können die Eigenschaften des Pen-Objekts verwenden, um viele weitere Attribute der Linie festzulegen. Die Eigenschaften StartCap und EndCap geben die Darstellung der Enden der Linie an. Die Enden können flach, quadratisch, abgerundet, dreieckig oder eine benutzerdefinierte Form sein. Mit der LineJoin-Eigenschaft können Sie angeben, ob verbundene Linien auf Gehrung geschnitten (verbunden mit scharfen Ecken), abgeschrägt, abgerundet oder abgeschnitten werden. Die folgende Abbildung zeigt Linien mit verschiedenen End- und Verbindungsstilen.

Lines

Zeichnen eines Rechtecks

Das Zeichnen von Rechtecken mit GDI+ ähnelt dem Zeichnen von Linien. Um ein Rechteck zu zeichnen, benötigen Sie ein Graphics-Objekt und ein Pen-Objekt. Das Graphics-Objekt stellt eine DrawRectangle-Methode bereit, und das Pen-Objekt speichert Attribute, z. B. Linienstärke und -farbe. Das Pen-Objekt wird als eins der Argumente an die DrawRectangle-Methode übergeben. Im folgenden Beispiel wird ein Rechteck mit seiner oberen linken Ecke bei (100, 50), einer Breite von 80 und einer Höhe von 40 gezeichnet:

myGraphics.DrawRectangle(myPen, 100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, 100, 50, 80, 40)

DrawRectangle ist eine überladene Methode der Graphics-Klasse. Daher gibt es mehrere Möglichkeiten, wie Sie ihr Argumente übergeben können. Sie können z. B. ein Rectangle-Objekt erstellen und das Rectangle-Objekt als Argument an die DrawRectangle-Methode übergeben:

Rectangle myRectangle = new Rectangle(100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, myRectangle);
Dim myRectangle As New Rectangle(100, 50, 80, 40)
myGraphics.DrawRectangle(myPen, myRectangle)

Ein Rectangle-Objekt verfügt über Methoden und Eigenschaften zum Bearbeiten und Sammeln von Informationen zum Rechteck. Die Methoden Inflate und Offset ändern beispielsweise die Größe und Position des Rechtecks. Die IntersectsWith-Methode teilt Ihnen mit, ob das Rechteck ein anderes angegebenes Rechteck überschneidet, und die Contains-Methode gibt an, ob sich ein gegebener Punkt innerhalb des Rechtecks befindet.

Siehe auch