Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi (https://www.delphipraxis.net/41235-ellipsen-die-sich-um-ihren-mittelpunkt-drehen-mit-delphi.html)

TOC 28. Feb 2005 11:24


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!

http://img238.exs.cx/img238/271/atomklein9hv.gif

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 : Tocs Komponenten als Paket

Grüße von TOC!

Rastaman 28. Feb 2005 13:09

Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
 
Keine der Dateien lässt sich öffnen (Windrar 3.4)

killerkarl 28. Feb 2005 13:31

Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
 
Vllt. datei umbenennen, hat bei mir geholfen, da im Dateinamen ein Kasten war

Phantom1 28. Feb 2005 20:30

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;

TOC 1. Mär 2005 12:47

Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
 
Hi!

Zitat:

Zitat von Gerrit89
Keine der Dateien lässt sich öffnen (Windrar 3.4)

Versteh nit warum! Ich hab grad mal beide Archieve runtergeladen und getestet- Kein Fehler!

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!

Phantom1 1. Mär 2005 14:47

Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
 
Zitat:

Zitat von TOC
Hi!

Zitat:

Zitat von Gerrit89
Keine der Dateien lässt sich öffnen (Windrar 3.4)

Versteh nit warum! Ich hab grad mal beide Archieve runtergeladen und getestet- Kein Fehler!

Ich kann deine RAR Archieve ohne probleme öffnen mit WinRar 3.2

Zitat:

Zitat von TOC
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...

Die Procedure die ich gepostet habe kann übrigens auch Teilellipsen darstellen, man muss nur den StartWinkel und den Endwinkel angeben. Gezeichnet wird dabei im Uhrzeigersinn.

mfg

TOC 2. Mär 2005 14:36

Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
 
Hi!

Zitat:

Zitat von Phantom1
Die Procedure die ich gepostet habe kann übrigens auch Teilellipsen darstellen, man muss nur den StartWinkel und den Endwinkel angeben. Gezeichnet wird dabei im Uhrzeigersinn.
mfg

Cool! Soll ich Deinen Code mal in die Unit 'Ellipse.pas' aufnehmen, oder is´ses Dir lieber wenn ich selbst so´ne Funktion programmiere?

Grüße von TOC!

Phantom1 2. Mär 2005 14:59

Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
 
Zitat:

Zitat von TOC
Cool! Soll ich Deinen Code mal in die Unit 'Ellipse.pas' aufnehmen, oder is´ses Dir lieber wenn ich selbst so´ne Funktion programmiere?

Du kannst gerne meinen Code nehmen, ich hab nix dagegen.

mfg
Phantom1

TOC 7. Mär 2005 11:02

Re: Ellipsen die sich um ihren Mittelpunkt drehen mit Delphi
 
Hi!

Zitat:

Zitat von Phantom1
Zitat:

Zitat von TOC
Cool! Soll ich Deinen Code mal in die Unit 'Ellipse.pas' aufnehmen, oder is´ses Dir lieber wenn ich selbst so´ne Funktion programmiere?

Du kannst gerne meinen Code nehmen, ich hab nix dagegen.

mfg
Phantom1

Ah, danke. Dann bastel ich Deinen Code mal in dei nächste Version hinein. Hab auch noch weitergebastelt und ´ne Funktion für Ellipsen mit Farbverlauf geschrieben.
Dann mach ich die nächsten Tage mal ein Upload mit der erweiterten 'Ellipse.pas'.

Grüße von TOC!

TOC 15. Jul 2005 10:10

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 06:50 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