Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Floodfill (https://www.delphipraxis.net/87437-floodfill.html)

fussball_freak 28. Feb 2007 17:36


Floodfill
 
hey

also..wie erklär ich das.

ich hab auf der rechten seite 6 rechtecke mit canvas.rectangle gezeichnet ,die dann mit verschiedenen farben gefüllt und auf der linken seite 3 leere rechtecke gezeichnet

jetzt will ich mit mousedown & canvas.floodfill diese 6 farben auswählen und in die 3 leeren felder einfügen

z.B. rechts: blau, rot, grün, weiß, gelb, schwarz

links dann: grün, weiß, rot

kann mir wer weiterhelfen???

bitsetter 28. Feb 2007 18:02

Re: Floodfill
 
Hi,

mit folgendem Code wählst du mit der rechten Maustaste die Farbe aus und mit der linken füllst du das Rechteck.
Delphi-Quellcode:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if classes.ssRight in Shift then
    Canvas.Brush.Color:= Canvas.Pixels[x, y];

  if classes.ssLeft in Shift then
    Canvas.FloodFill(x, y, Canvas.Pixels[x, y] ,graphics.fsSurface);
end;
EDIT: kleinen Fehler behoben

fussball_freak 28. Feb 2007 19:20

Re: Floodfill
 
danke, werd ich gleich mal probieren

fussball_freak 28. Feb 2007 19:43

Re: Floodfill
 
wow, danke...

aber...ich weiß ich bin ne niete...wie kann ich vermeiden, dass sich die 6 farbfelder auch gegenseitig verfärben?

bitsetter 28. Feb 2007 22:04

Re: Floodfill
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich habe dir jetzt eine kleine Demo mit Code angehängt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz