Autor Beitrag
der organist
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 467
Erhaltene Danke: 17

WIN 7
NQC, Basic, Delphi 2010
BeitragVerfasst: So 05.07.09 20:39 
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.

ausblenden 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 user profile iconNarses: BMP -> PNG
Einloggen, um Attachments anzusehen!
_________________
»Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 467
Erhaltene Danke: 17

WIN 7
NQC, Basic, Delphi 2010
BeitragVerfasst: 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.

_________________
»Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin