Füllen von beliebigen Flächen

Alles rund um die Programmierung mit Qt
Antworten
jw202
Beiträge: 36
Registriert: 6. August 2012 22:25

Füllen von beliebigen Flächen

Beitrag von jw202 »

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
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Füllen von beliebigen Flächen

Beitrag von franzf »

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.
jw202
Beiträge: 36
Registriert: 6. August 2012 22:25

Re: Füllen von beliebigen Flächen

Beitrag von jw202 »

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
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Füllen von beliebigen Flächen

Beitrag von franzf »

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.
jw202
Beiträge: 36
Registriert: 6. August 2012 22:25

Re: Füllen von beliebigen Flächen

Beitrag von jw202 »

aber das läuft auf eine iteration über alle punkte hinaus, oder?
Antworten