2017-07-15 1 views
0

Ich möchte einen Kreis in einem Bild mit einer Farbe ohne mit den integrierten Methoden wie drawOval() füllen. Ich habe Algorithmen gefunden, um die Grenze eines Kreises zu zeichnen, aber ich kann nicht herausfinden, wie man einen gefüllten Kreis macht.Füllen Sie einen Kreis auf einem Gitter ohne eingebaute Methoden?

+0

Welche Werkzeuge wollen Sie (Wenn Sie bereits einige Kreis-Zeichnung Algorithmus wie Mittelpunkt eines oder Bresenham ein verwenden, können Sie dx und dy mit Werten von diesem Algorithmus ersetzen) benutzen? Versuchen Sie dies, indem Sie jeweils ein Pixel zeichnen? –

+0

Ich schlage vor, http://www.tutorialspoint.com/computer_graphics/polygon_filling_algorithm.htm zu lesen. –

+0

Sie sollten zuerst die Grenze zeichnen und dann implementieren den 'floodFill' Algorithmus (https://en.wikipedia.org/wiki/Flood_fill) – thebjorn

Antwort

0

Gehen Sie durch die Zeilen mit den Koordinaten center.Y - R bis center.Y + R und füllen Sie die horizontalen Linien der benötigten Länge.

for dy = - R to R 
    dx = Math.Sqrt(R * R - dy * dy) //semi-width 
    drawline(center.X - dx, center.Y + dy, center.X + dx, center.Y + dy) 

Das ist alles.

Verwandte Themen