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

Graphics: Kreise und Ellipsen zeichnen

Wie ein Quadrat die Darstellung eines Kreises festlegt

Dass du ein Platzierungsrechteck angeben musst um die Darstellung einer Ellipse festzulegen, ist schon eine Überraschung. Gucken wir uns einmal genauer an, wie das bei einem Kreis funktioniert.

Die folgenden Bilder zeigen einen Kreis zusammen mit dem quadratischen Platzierungsrechteck, das Position und Größe der Ellipse definiert.

Einschließendes Rechteck eines Kreises

Du siehst, dass bei der Verwendung eines dicken Stiftes über das Platzierungsrechteck hinausgezeichnet wird.

Einschließendes Rechteck eines Kreises

In diesem Bild erkennst du, dass die Farbverteilung eines dicken Stiftes bei einem Kreisbogen die gleiche ist wie bei einer geraden Linie:

Ein dicker Stift zeichnet über das Rechteck hinaus

Um unter allen Umständen einen Kreis zu zeichnen, musst du dafür sorgen, dass das Platzierungsrechteck ein Quadrat ist. Wie du ein Quadrat herstellst, habe ich dir schon erklärt, jetzt kannst du das ausprobieren:

int hoehe = rechteck.Height;
int breite = rechteck.Width;
int mittelpunktX = breite / 2;
int mittelpunktY = hoehe / 2;
int radius = (hoehe < breite ? hoehe : breite) / 2;

Rectangle bereich =
      new Rectangle(mittelpunktX - radius,
                    mittelpunktY - radius,
                    2*radius,
                    2*radius);

Color farbe = Color.Goldenrod;
using (Pen stift = new Pen(farbe, 3.0f))
{
    g.DrawEllipse(stift,           //  verwendeter Stift
                  Rectangle.Inflate(bereich, -10, -10));  //  einhüllendes Rechteck
}

Hier habe ich die Variante genommen, die das Quadrat in der Zeichenfläche zentriert. Verändere sowohl die Höhe als auch die Breite des Fensters mehrfach, um dich davon zu überzeugen, dass der Kreis stets ordentlich eingemittet wird.

Mittig gezeichneter Kreis


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