Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Error bei FloodFill
der organist - So 05.07.09 20:39
Titel: Error bei FloodFill
Hi Leutz,
ich bastele mir gerade einen Zauberwürfel beisammen, auch als Rubik's Cube bekannt. Ich hab ne Bitmap mit weißen Feldern, die sollen dann per FloodFill mit der entsprechenden Farbe ausgefüllt werden.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| function TRubikCube.GetReadyPicture:TBitmap; var k,l,m: Integer; begin m:=0; CubePic.LoadFromFile(ExtractFilePath(ParamStr(0))+'original.bmp'); for k := 0 to 3 - 1 do for l := 0 to 9 - 1 do begin
CubePic.Canvas.FloodFill(PicturePoint[m].X, PicturePoint[m].Y, Cube.Side[k][l], fsBorder); inc(m); end; GetReadyPicture:=CubePic; end; |
Die Funktion soll eben eine Bitmap (siehe Anhang) ausmalen.
-Fehler hab ich markiert.
-PicturePoint ist ein Array[0..26]mit den Punkten, die Delphi zum ausmalen benutzen soll.
-mein Cube hat nen Array[0..5] of Array [0..8] of TColor, mit dem Namen Side.
Hoffe ihr könnte mir da weiter helfen..
Edit:
-CubePic ist eine Bitmap...mit der hab ich aber auch schon zeichnen können (noch nicht ausgemalt), da sollte das Problem nicht liegen.
Moderiert von
Narses: BMP -> PNG
jaenicke - So 05.07.09 21:22
Setzt du denn Pen irgendwo? Denn dessen Farbe wird als Grenze zum Füllen genommen glaube ich, wenn ich mich recht entsinne.
der organist - So 05.07.09 21:55
das stört ihn gar nicht, ich hab die Farbe des Pens auf Schwarz gesetzt, auch einmal den Fillstyle geändert, aber nichts kommt bei rum.
EDIT: Ich habs gefunden: Die Farbe im FloodFill gibt die Grenzfarbe (bei fsBorder) bzw. die Originalfarbe der Fläche an (eben bei fsSurface). Um die Farbe einzustellen, mit der gefüllt wird, stelle man "Brush" auf die richtige Farbe.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!