zu www.bildungsgueter.de nächster Abschnitt zur Inhaltsübersicht des Kapitels vorheriger Abschnitt

Graphics: Polygonzüge zeichnen

Um eine Folge miteinander verbundener Linien - einen sogenannten Streckenzug oder Polygonzug - zu zeichnen, verwendest du die Funktion DrawLines(). Die Argumente dieser Funktion sind ein Zeichenstift und ein Feld von Punkten, die die Eckpunkte des Polygonzugs bilden.

Im folgenden Beispiel legst du zunächst drei Punkte in der Zeichenfläche fest, um sodann einen aus zwei Strecken bestehenden Polygonzug zu zeichnen:

Rectangle bereich = Rectangle.Inflate(rechteck, -20, -20);
  //  Drei Eckpunkte für einen aus zwei Strecken
  //  bestehenden Streckenzug vorbereiten:
Point[] punkte = new Point[3];

punkte[0].X = bereich.Left;
punkte[0].Y = bereich.Top;

punkte[1].X = bereich.Right;
punkte[1].Y = bereich.Top;

punkte[2].X = (bereich.Right + bereich.Left) / 2;
punkte[2].Y = bereich.Bottom;

  //  roten Zeichenstift erzeugen
using (Pen stift = new Pen (Color.Red, 11.0f))
{
       //  Feineinstellung der Stifteigenschaften
     stift.StartCap = LineCap.Round;
     stift.EndCap = LineCap.Round;
     stift.LineJoin = LineJoin.Round; 

       //  Polygonzug zeichnen
     g.DrawLines(stift, punkte);

       //  Stiftfarbe und Strichstärke ändern
       //  und nochmals zeichnen 
     stift.Color = Color.White;
     stift.Width = 1.0f; 
     g.DrawLines(stift, punkte);    
}

Hier ist wieder etwas Neues:

stift.LineJoin = LineJoin.Round;

Die Eigenschaft LineJoin bestimmt, wie Linien aneinandergefügt werden. Der Wert LineJoin.Round bedeutet Abrundung der Ecken eines Polygonzuges.

Ebenso wie die Eigenschaften StartCap und EndCap ist auch die Eigenschaft LineJoin nur wichtig, wenn du dicke Linien zeichnest.

Das Beispiel liefert dieses Bild:

zwei verbundene Linien

Hier sind einige Anmerkungen unbedingt erforderlich:


vorheriger Abschnitt zur Inhaltsübersicht des Kapitels nächster Abschnitt