![]() |
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??? |
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:
EDIT: kleinen Fehler behoben
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; |
Re: Floodfill
danke, werd ich gleich mal probieren
|
Re: Floodfill
wow, danke...
aber...ich weiß ich bin ne niete...wie kann ich vermeiden, dass sich die 6 farbfelder auch gegenseitig verfärben? |
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 13:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz