Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Kreise in einem Bild rotieren lassen (https://www.delphipraxis.net/151289-kreise-einem-bild-rotieren-lassen.html)

Fussel9 11. Mai 2010 15:29


Kreise in einem Bild rotieren lassen
 
Hallo,

ich hoffen, das ich mir da nicht zu viel vorgenommen habe ^^

Ich hab das Programm ''BeamerSoundToLight''gefunden, welches aus dem Beamer einen Laser macht, natürlich nicht wirklich sondern nur so in der Art... Auf Partys kennt man ja diese Laserprojektoren, die dann tolle muster und was nicht alles erzeugen, so ähnlich kann ein Beamer das auch (wenn die Luft z.B. mit Nebel zur Projektionsfläche gemacht wird).

Leider funzt das Programm nicht, und ich glaube das es nie vollkommen fertig gestellt wurde( geschweige denn ge beta't)

Also will ich den Versuch unternehmen selbst ein Ähnliches Programm zu schreiben.

Dabei brauche ich aber leider viel Hilfe, da unsere ehemaligen Informatiklehrer(ein Referendar und ein Lehrer dessen letzter Kurs wir waren...) uns nie beigebracht haben wie man mit Shapes oder worauf man auch immer zeichnen kann umgeht.
Unser jetziger Informatiklehrer hat keine Zeit darauf einzu gehen und somit muss ich irgendwie sehen wie ichs selbst hinkriege....


KURZ:\\ Wie zeichne ich fabliche gefüllte Kreise in ein TImage?
\\ Wie speichere ich hinterher das entstandene Bild?

Viellen dank schon mal für alle Antworten

MFG

Der Fussel

himitsu 11. Mai 2010 15:44

Re: Kreise in einem Bild rotieren lassen
 
Nja, für kreise kann man entweder einfach ein TShape auf die Form ziehen und dessen Darstellung auf "Kreis" umstellen

oder du schaust dir mal an, was man alles mit einem Canvas ( Delphi-Referenz durchsuchenTCanvas ) machen kann ... vorallem Delphi-Referenz durchsuchenTCanvas.Ellipse.

Als Canvas kannst du entweder das der Form nehmen oder du legst dir zusätzlich noch eine TPaintBox auf die Form, welche ebenfalls ein Canvas bereitstellt.

Fussel9 11. Mai 2010 15:55

Re: Kreise in einem Bild rotieren lassen
 
TImage besitzt auch ein Canvas oder?
Dann kann ich also TImage.Canvas.Elippse ansprechen oder?

himitsu 11. Mai 2010 16:05

Re: Kreise in einem Bild rotieren lassen
 
Ja, das geht auch, aber TImage ist eine "extrem" langsame Komponente, weswegen du mit TPaintBox da besser kommst ... du willst doch bestimmt schnelle "Bewegungen" in deinen "Bildern" erzeugen?

Fussel9 11. Mai 2010 16:12

Re: Kreise in einem Bild rotieren lassen
 
ja entweder das, oder ich hatte schon überlegt aus vielen Images ein Video zu machen... wenn das geht
aber ich guck erstma wie weit ich mit mer paintbox komme...^^

DeddyH 11. Mai 2010 16:12

Re: Kreise in einem Bild rotieren lassen
 
Eben, TImage ist primär dafür gedacht, bereits vorhandene (und in Normalfall nach dem Laden unveränderliche) Grafiken anzuzeigen. Zum Selberzeichnen (inkl. irgendwelcher Animationen) ist man mit TPaintBox besser beraten.

Fussel9 11. Mai 2010 18:28

Re: Kreise in einem Bild rotieren lassen
 
ich hab das mit elipse ausprobiert und auch mit Line to und hab mich immer an Mouse.CursorPos.X bzw. Y gerichtet

z.B. CursorPos.Y+10...

Aber das ist immer voll versetzt...?!?!

und mit elipse macht man ja nur Kreislinien
wie füllt mann die denn aus?

und kann man das hinkriegen das man die kreise nachher ziehen kann( DragNDrop)

DeddyH 11. Mai 2010 18:41

Re: Kreise in einem Bild rotieren lassen
 
Mouse.CursorPos liefert Dir ja auch absolute Mauskoordinaten. Im MouseDown-Event bekommst Du die relativen Koordinaten ja gleich mitgeliefert, ansonsten kannst Du sie auch mit ScreenToClient umrechnen lassen. Und zu TCanvas.Ellipse sagt die Hilfe:
Zitat:

The ellipse is outlined using the value of Pen, and filled using the value of Brush.

himitsu 11. Mai 2010 18:44

Re: Kreise in einem Bild rotieren lassen
 
Mouse.CursorPos ist die Position des Mauszeigers auf dem Bildschirm

die Position von irgendwas im Canvas ist die Position auf dem Canvas :zwinker:

das X und Y in OnMouseMove ist die Position in der Komponente/Canvas

ansonsten muß man eben ScreenToClient der Komponente verwenden, um umzurechnen
[add] nja, etwas langsam getippt (aber ich hab 'ne Ausreder ... akku in der Tastatur war leer und ich konnte nich gleich fertigschreiben)



PS: sieht ein rotierender Kreis nicht genauso wie ein stillstehender Kreis aus?

DeddyH 11. Mai 2010 18:56

Re: Kreise in einem Bild rotieren lassen
 
Zitat:

Zitat von himitsu
PS: sieht ein rotierender Kreis nicht genauso wie ein stillstehender Kreis aus?

Das kommt wohl auf die Füllung an, bei einem Farbverlauf z.B. würde man das Rotieren schon sehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:00 Uhr.
Seite 1 von 2  1 2      

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