![]() |
Ellipse innerhalb einer Ellipse extra definieren !!!
:|
Schon vor einiger Zeit bekam ich den Tip, wie man eine Ellipse begrenzt, d.h. wie man es realisiert, dass wenn man beispielsweise auf eine Ellipse klickt etwas angezeigt wird, und wenn man neben diese klickt etwas anderes angezeigt wird !!! Dies funktioniert so:
Delphi-Quellcode:
Das konnte ich auch schön in meinem Programm intigrieren, aber nun stehe ich vor einem neuen Problem !!!
procedure TForm1.FormPaint(Sender: TObject);
begin canvas.Ellipse(20,20,120,80) end; function MausklickDrin(x,y:integer):boolean; // x,y=Mauskoordinaten var yEllipse:integer; // Mauskoordinaten const Mitte_x=70; Mitte_y=50; a=50; b=30; begin x:=x-Mitte_x; y:=y-Mitte_y; yEllipse:=round(sqrt(abs((1-x*x/a/a)*b*b))); MausklickDrin:=(y>=-abs(yEllipse)) and (y<=abs(yEllipse)) and (x>=-a) and (x<=a) end; procedure TForm1.FormMouseDown; begin if MausklickDrin(x,y) then form1.caption:='Ist drin' else form1.caption:='Ist nicht drin.' end; Ich will nun eine Ellipse so einteilen, dass ich bespielsweise sagen kann, dass vom Außenrand bis meinetwegen 100 Pixel nach innen etwas best. gemacht/angezeigt wird und dann ab da bis wieder 100 Pixel nach innen etwas anderes passiert !!! Ich weiß meine Fragen sind nachwievor sehr speziell und vielleicht nicht so einfach umzusetzen, aber vielleicht weiß ja jemand auch das! Schon mal vielen Dank !!!!!!!!! 8) :| |
Re: Ellipse innerhalb einer Ellipse extra definieren !!!
:hi:
Leg eine Normale an die Ellipse durch den Punkt, rechne die Länge der Strecke aus :gruebel: sollte doch gehen. mfg Tobias |
Re: Ellipse innerhalb einer Ellipse extra definieren !!!
könntest du gleich n Beispiel geben, weil ich nicht genau weiß, wie ich das mit dem anderen verbinden soll ???
Danke |
Re: Ellipse innerhalb einer Ellipse extra definieren !!!
Es wäre schon nett, wenn jemand noch ne Antwort parat hat !!!!!!!!!!!!!! :o
|
Re: Ellipse innerhalb einer Ellipse extra definieren !!!
Komm schon; Mirilin hat doch sicher schon die richtige Idee gehabt, nur eben kein Bsp.............. :(
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 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