Hallo,
ich möchte mit dem QPainter eine leere Landkarte anfärben. Dazu möchte ich einem Punkt in einem bestimmten Land angeben und dann sollen alle "benachbarten" Punkte ebenfalls gefärbt werden.
gibt es da eine Möglichkeit?
LG
Füllen von beliebigen Flächen
Re: Füllen von beliebigen Flächen
Die benachbarten Punkte von einem Punkt ist eins nach link oben, eins nach oben, ein nach rechts oben, ...
Wenn du einmal die Runde machst, kommt ein Quadrat mit topLeft bei (p-1, p-1) und Kantenlänge=3 raus. Rechteck malen mit QPainter sollte klar sein.
Wenn du einmal die Runde machst, kommt ein Quadrat mit topLeft bei (p-1, p-1) und Kantenlänge=3 raus. Rechteck malen mit QPainter sollte klar sein.
Re: Füllen von beliebigen Flächen
benachbart im Sinne von selber Farbe. sorry, ich habe es etwas ungenau formuliert
im prinzip sollte die Funktion vom Farbtopf von Microsoft Paint realisiert werden
im prinzip sollte die Funktion vom Farbtopf von Microsoft Paint realisiert werden
Re: Füllen von beliebigen Flächen
Gut
Das einfachste ist, deine Landkarte in einem QImage zu halten. Du bekommst die Farbe an einem Punkt mit QImage::pixel(). Über google findet sich sicher ein Algorithmus zur Bestimmung der Farbähnlichkeit, damit du auch einen Schwellwert angeben kannst.
Das einfachste ist, deine Landkarte in einem QImage zu halten. Du bekommst die Farbe an einem Punkt mit QImage::pixel(). Über google findet sich sicher ein Algorithmus zur Bestimmung der Farbähnlichkeit, damit du auch einen Schwellwert angeben kannst.
Re: Füllen von beliebigen Flächen
aber das läuft auf eine iteration über alle punkte hinaus, oder?