Einzelnen Beitrag anzeigen

Torley

Registriert seit: 24. Jan 2008
Ort: Freudenberg
39 Beiträge
 
Delphi 6 Professional
 
#1

Fülleffeckt beim füllen von Flächen erstellen! (farbauslauf)

  Alt 17. Mär 2008, 21:22
Abend

ist nicht so wichtig kitzelt mich aber das jetzt mal heraus zu bekommen!
Man kann ja mit floodfill so einiges Füllen. mich stört daran das die fläche sofort gefüllt ist!
Ich probier seit ungefähr 1 Stunde einen Effeckt zu kreieren der dem auslaufen von farbe zeigt.

aus meinem Delphibuch von der Schule ist ein beispiel:

Delphi-Quellcode:
procedure Tform1.fuellen(x,y:integer);
begin
 image1.canvas.pixels[x,y]:= clred;
 image1.update;
 sleep(1);
 if image1.canvas.pixels[x+1,y]= clwhite then fuellen(x+1,y); <--*
 if image1.canvas.pixels[x-1,y]= clwhite then fuellen(x-1,y);
 if image1.canvas.pixels[x,y+1]= clwhite then fuellen(x,y+1);
 if image1.canvas.pixels[x,y-1]= clwhite then fuellen(x,y-1);
end;
der code füllt aber reihenweise!

anscheinend kann die Procedure nur einmal ausgeführt werden!
das heißt das an der makierten Stelle (*) der aktuelle durchlauf gestoppt wird und der nächste gestartet wird.
D.h das erst wenn x+1 nicht weiß ist die farbe nach links ausgebreitet wird und so weiter.

kann man das nicht irgendwie unterbinden?

im anhang hab ich ein beispiel gemalt wies sein sollte!

Torley
Angehängte Grafiken
Dateityp: bmp f_llen_920.bmp (287,2 KB, 25x aufgerufen)
  Mit Zitat antworten Zitat