Wie man farbige Linien und Flächen in eine PictureBox zeichnet

 

Im Beispielprogramm wurden die Funktionen zum Zeichen von Rechtecken, Kreisen und Ellipsen in die Funktion malen() gesteckt. Mit einem Unterstrich, dem ein Leerzeichen vorangestellt ist, kann die relativ lange Funktion auch auf mehrere Zeilen verteilt werden. Dieses Verfahren wurde im abgebildeten Quelltext angewendet.

Die Variablen rot, grün, blau, X, Y, a und b sind willkürlich gewählt un können durch andere Namen ersetzt werden.

 

 

 

Code zum Zeichnen von Kreisen oder Ellipsen:

PictureBox1.CreateGraphics.FillEllipse(New SolidBrush (System.Drawing.Color.FromArgb(rot, grün, blau)), X, Y, a,b)

 

Code zum Zeichnen von Rechtecken oder Quadraten: 

 

PictureBox1.CreateGraphics.FillRectangle(New SolidBrush (System.Drawing.Color.FromArgb(rot, grün, blau)),X, Y, a, b)

 

 

Die Zeichenfunktion beginnt mit dem Objekt, auf das gezeichnet werden soll, hier also die PictureBox1.

Bei CreateGraphics handelt es sich um einen obligatorischen Standard-Ausdruck. 

Je nachdem, ob man Ellipsen (Kreise) oder Rechtecke zeichnen möchte, folgt nun der Begriff FillRectangle oder FillEllipse. Mit FillEllipse lassen sich auch Kreise zeichnen. 

Wie das Wort Fill schon sagt, können mit dieser Methode nur ausgefüllte, farbige Flächen gezeichnet werden.

 

Die Farben werden in Form der entsprechenden (frei benennbaren) Variablen für die Farben rot, grün und blau in die Klammer hinter FromArgb eingesetzt. Es folgen die Angaben zu den Koordinaten, an denen sich das Objekt befindet und der Größe des Objekts.

 

Zwischen FillEllipse und FillRectangle besteht folgender Unterschied

 

Bei FillEllipse geben die Koordinaten (im Beispiel X,Y) den Mittelpunkt des Kreises (der Ellipse) an. Die folgenden Variablen stehen für die Durchmesser der vertikalen und horizontalen Achsen. Bei a = b wird ein Kreis gezeichnet.

 

Bei FillRectangle ist es etwas komplizierter: Die Koordinaten bezeichnen immer die linke, obere Ecke eines Rechtecks. Die Variablen a und b stehen für die Länge und Breite des Rechtecks. Das klingt zunächst einfach, sorgt aber für Verwirrungen, wenn z.B. von einem Achsenkreuz aus Rechtecke in verschiedene Richtungen gezeichnet werden müssen.

 

Im gezeigten Programm konnten die farbigen Flächen intuitiv per Maus gezeichnet werden, da sie von einem Maus-Event aufgerufen werden. Natürlich ist es auch möglich, farbige Flächen nach einem Klick auf einen Button zu zeichnen oder Zahlen nach dem Auslesen einer numerischen Datentabelle als rechteckige Diagramm-Balken in einer PictureBox darzustellen.

 

Zurück