![]() |
Bereich mit Farbe füllen
ich bin dabei ein program zu schreiben, welches sobald man die maus anklickt genau durch diesen punkt eine zufällige linie einzeichnet.
diese linie sollte innerhalb eines vorher gezeichneten rechtecks bleiben. zusätzlich will ich dann die entstandenen felder mit 2 unterschiedlichen farben füllen, wobei nicht die gleichen farben nebeneinander sein dürfen. nun treten aber probleme auf, hier erstmal grob was ich schon "erreicht" habe:
Delphi-Quellcode:
das rechteck wird folgendermassen gezeichnet:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin label1.Caption:=inttostr(x)+'/'+inttostr(y); a:=x; b:=y; d:=0; randomize; c:=random(270)+50; with canvas do begin moveto(c,d); lineto(a,b); k:=a-c; l:=b-d; moveto(a,b); lineto(a+k,l+b); end; rectangle(320,240,0,0); die linien gehen zwar durch den angeklickten punkt, sind aber teils zu lang und teils zu kurz. ausserdem habe ich keine ahnung wie ich die felder (ich gehe jetzt mal von 2 linien, also ingesamt 4 feldern aus) dann mit 2 ver. farben collorieren soll?! dafür gibt es doch bestimmt einen einfachen befehl, oder?! wäre super, wenn mit jemand helfen könnte! :thuimb: [i][edit=sakura] Statt kann man hier auch [delphi] schreiben ;-) Mfg, sakura[/edit] |
Re: Bereich mit Farbe füllen
die daraus entstehenden Felder kannst du mir Floodfill siehe OH füllen!
:wink: |
Re: Bereich mit Farbe füllen
Herzlich willkommen Rambo! :mrgreen:
Hinweis! Für Delphicode gibt es spezielle Delphi Tags |
Re: Bereich mit Farbe füllen
Zitat:
![]() ...:cat:... |
Re: Bereich mit Farbe füllen
den befehl "floodfill" werde ich später ausprobieren.
den rest verstehe ich nicht,bzw. was das mit meinem problem zu tun hat. der nick ist tradition - den kann ich nicht ändern :D |
Re: Bereich mit Farbe füllen
Zitat:
Aber für Delphi-Code gibt es hier [ delphi ] [ /delphi ] (ohne Leerzeichen...) Tags. Die formatieren den Code und heben so schon wichtige Schlüsselwörter hervor... MfG Florian :hi: |
Re: Bereich mit Farbe füllen
Zitat:
...:cat:... |
Re: Bereich mit Farbe füllen
gut danke dafür, werde ich nächstes mal beachten!
trotzdem wäre mir hilfe jetzt wichtiger als design :D |
Re: Bereich mit Farbe füllen
Ach ich verstehe!
Du willst geraden ausrechnen! Warte mal 5 min ich muss mal in meinen Mathekenntnissen kramen. |
Re: Bereich mit Farbe füllen
Skizze:
Code:
Zuerst Rechnen wir mal die Funktion aus:
+--------x[size=9]1[/size]-----------------+ y[size=9]o[/size]=320
| \ | | \ | | x,y[size=9]m[/size] | | \ | | \ | +--------------x[size=9]2[/size]-----------+ y[size=9]u[/size]=320 xo ist dabei ein zufälliger Wert! ym = m * xm + n yo = m * xo + n Gleichungsystem lösen: (y - ym) * (xo - xm) = (x - xm) * (yo - ym) Zweiten Schnittpunkte bilden: für yu ges xu (yu - ym) * (xo - xm) = (xu - xm) * (yo - ym) Nach xu Umstellen: ((yu - ym) * (xo - xm)) / (xo - ym) + xm = xu Offentlich hab ich mich nicht vertan! Schau mal ob es geht! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 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