Stifte, Linien und Rechtecke

Zum Zeichnen von Linien mit Windows 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 der Linie, z. B. Farbe, Breite und Stil. Beim Zeichnen einer Linie wird einfach die DrawLine-Methode des Graphics-Objekts aufgerufen. Die Adresse des Pen-Objekts wird als eines 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);

DrawLine ist eine überladene Methode der Graphics-Klasse , sodass Es mehrere Möglichkeiten gibt, wie Sie sie mit Argumenten bereitstellen können. Beispielsweise können Sie zwei Point-Objekte erstellen und Verweise auf die Point-Objekte als Argumente an die DrawLine-Methode übergeben.

Point myStartPoint(4, 2);
Point myEndPoint(12, 6);
myGraphics.DrawLine(&myPen, myStartPoint, myEndPoint);

Sie können bestimmte Attribute angeben, wenn Sie ein Pen-Objekt erstellen. Mit einem Stiftkonstruktor können Sie beispielsweise Farbe und Breite angeben. Im folgenden Beispiel wird eine blaue Linie der Breite 2 von (0, 0) bis (60, 30) gezogen.

Pen myPen(Color(255, 0, 0, 255), 2);
myGraphics.DrawLine(&myPen, 0, 0, 60, 30);

Das Pen-Objekt verfügt auch über Attribute, z. B. das Bindestrichformat, die Sie verwenden können, um Merkmale der Linie anzugeben. Im folgenden Beispiel wird z. B. eine gestrichelte Linie von (100, 50) bis (300, 80) gezogen.

myPen.SetDashStyle(DashStyleDash);
myGraphics.DrawLine(&myPen, 100, 50, 300, 80);

Sie können verschiedene Methoden des Pen-Objekts verwenden, um viele weitere Attribute der Zeile festzulegen. Die Methoden pen::SetStartCap und pen::SetEndCap geben die Darstellung der Zeilenenden an. die Enden können flach, quadratisch, abgerundet, dreieckig oder eine benutzerdefinierte Form sein. Mit der Pen::SetLineJoin-Methode können Sie angeben, ob verbundene Linien gemildet (mit scharfen Ecken verbunden), abgeschrägt, abgerundet oder beschnitten werden. Die folgende Abbildung zeigt Linien mit verschiedenen End- und Verbindungsstilen.

Abbildung einer zwei Linien mit abgerundeten und kreisförmigen Enden, abgerundeten und geglätelten Ecken sowie zwei Pfeilarten

Das Zeichnen von Rechtecken mit GDI+ ähnelt dem Zeichnen von Linien. Zum Zeichnen eines Rechtecks 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. Linienbreite und Farbe. Die Adresse des Pen-Objekts wird als eines der Argumente an die DrawRectangle-Methode übergeben. Im folgenden Beispiel wird ein Rechteck mit der oberen linken Ecke (100, 50), einer Breite von 80 und einer Höhe von 40 zeichnen.

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

DrawRectangle ist eine überladene Methode der Graphics-Klasse , daher gibt es mehrere Möglichkeiten, wie Sie sie mit Argumenten bereitstellen können. Sie können beispielsweise ein Rect-Objekt erstellen und einen Verweis auf das Rect-Objekt als Argument an die DrawRectangle-Methode übergeben.

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

Ein Rect-Objekt verfügt über Methoden zum Bearbeiten und Sammeln von Informationen zum Rechteck. Beispielsweise ändern die Methoden Inflate und Offset die Größe und Position des Rechtecks. Die Rect::IntersectsWith-Methode gibt an, ob das Rechteck ein anderes angegebenes Rechteck überschneidet, und die Contains-Methode informiert Sie, ob sich ein bestimmter Punkt innerhalb des Rechtecks befindet.