![]() |
Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
Liste der Anhänge anzeigen (Anzahl: 2)
Hi!
Ich wollte mal so´n Programm schreiben mit ´ner Ellipse die sich um ihren Mittelpunkt dreht. Aber leider habe ich weder in Delphi noch in Windows eine entsprechende Funktion gefunden. Bei dem Versuch eine solche Ellipse zu zeichnen bin ich halb wahnsinnig geworden! Ich bekam alle möglichen Ergebnisse, aber keine Ellipse. Dann ist mir der Kragen geplatzt und ich habe das Netz nach einer entsprechenden Funktion abgesucht, und diese zum Glück auch gefunden! Es war nicht sehr schwer diesen Algorythmus in Delphi zu übersetzen. Achtung : Wenn ihr dieses Projekt ladet wird die Eigenschaft 'AutoScroll' von Form1 dummerweise immer wieder auf 'False' gesetzt. Ich habe keine Ahnung woran dies liegt. Ihr müßt 'AutoScroll' auf 'True' setzen bevor ihr das Programm startet oder abspeichert, da sonst die Größe vom BitMap nicht an die Formular-Größe angepaßt wird! ![]() Dieses Atom-Programm spielt ein wenig mit drehenden Ellipsen herum. Wenn ihr solche gedrehten Ellipsen in Euren Programmen verwenden wollt dann bindet einfach die Unit 'Ellipse' in Euer Programm ein! ------------------------------------------------------------------------------------------------ Hi! Hier kommt Version 1.2 von Atom! Änderungen: 1.) Das Atom-Programm speichert nun unter dem Schlüssel 'HKEY_CURRENT_USER\SoftWare\TocWare\Atom" seine Daten in der System-Registrierung. 2.) Der Dateityp "*.qex" = Atomparameter-Datei wird nun nicht mehr automatisch registriert. Wenn Du diesen Dateityp registrieren möchtest dann öffne mit der rechten Maustaste das Context-Menü und wähle "Dateityp *.qex registrieren". Dort findest Du nun auch eine Funktion mit der Du alle Daten, die Atom in unter dem Schlüssel 'HKEY_CURRENT_USER\SoftWare\TocWare\Atom' in die Registrierung schreibt, wieder löschen kannst ("Registrierung aufheben"). 3.) In den Delphi 3 und Delphi 7 Versionen habe ich die Unit 'Ellipse.pas' etwas erweitert. Dort findest Du nun zwei neue Funktionen, um einen fließenden Farbverlauf zu berechnen und um eine gedrehte Ellipse mit Farbverlauf zu zeichnen. 4.) In der Delphi 7 Version von Ellipse.pas gibt es nun eine neue Funktion mit der Du auch Teilellipsen (Arcs) einer gedrehten Ellipse zeichnen kannst (von Phantom1@Delphipraxis.net). Hinweis: Dieses Programm verwendet einige meiner selbst gebastelten Komponenten, die Du benötigst um das Projekt zu öffnen und neu zu kompilieren. Eine aktuelle Version meiner Komponenten im Packet findest Du hier : ![]() Grüße von TOC! |
Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
Keine der Dateien lässt sich öffnen (Windrar 3.4)
|
Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
Vllt. datei umbenennen, hat bei mir geholfen, da im Dateinamen ein Kasten war
|
Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
Nicht schlecht, das hätt ich vor einigen Monaten gebrauchen können. Eine Sache fehlt jedoch oder ich hab's bei dir übersehen und zwar: ARC's bzw Teilellipsen.
Hab mich damals auch damit beschäftigt und habe schließlich diese Procedure geschrieben:
Delphi-Quellcode:
Procedure DrawEllipse(Dest: TCanvas; xCenter, yCenter, // Mittelpunkt
xRadius, yRadius: Single; // breite, höhe sAngle: Single = 0; // StartWinkel eAngle: Single = 360; // EndWinkel RotateAngle: Single = 0; // DrehWinkel Points: Byte = 50); // Anzahl der Punkte Var rAngle, step: Single; x1, y1: Integer; Procedure GetPos(Angle: Single; Out x1, y1: Integer); Var x, y, Theta: Single; Begin Theta:=Angle*(PI/180); x:=xRadius*cos(-Theta); y:=yRadius*sin(-Theta); x1:=Round(xCenter+x*Cos(-rAngle)-y*Sin(-rAngle)); y1:=Round(yCenter+x*Sin(-rAngle)+y*Cos(-rAngle)); End; begin rAngle:=RotateAngle*(PI/180); step:=(eAngle-sAngle)/Points; GetPos(sAngle,x1,y1); Dest.MoveTo(x1,y1); sAngle:=sAngle+step; While sAngle<eAngle Do Begin GetPos(sAngle,x1,y1); Dest.LineTo(x1,y1); sAngle:=sAngle+step; End; GetPos(eAngle,x1,y1); Dest.LineTo(x1,y1); End; |
Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
Hi!
Zitat:
Teileelipsen berechnen? Nun, in der unit Ellipse befinden sich noch zwei Funktionen, mit denen man einen Punkt auf ´ner gedrehten Ellipse berechnen kann oder einen Punkt auf´m Kreis. Also gut, laß mir was einfallen für Teilellipsen... Grüße von TOC! |
Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
Zitat:
Zitat:
mfg |
Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
Hi!
Zitat:
Grüße von TOC! |
Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
Zitat:
mfg Phantom1 |
Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
Hi!
Zitat:
Dann mach ich die nächsten Tage mal ein Upload mit der erweiterten 'Ellipse.pas'. Grüße von TOC! |
Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
Hi!
Hier das versprochene UpDate mit der erweiterten Ellipse.pas sowie eine Korektur der fehlerhaften Registrierung (Inklusive Löschfunktion!). Grüße von TOC :drunken: ! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 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