Unit für weiche Farb und Positionsübergänge
-
- Beiträge: 565
- Registriert: So 26. Aug 2012, 09:03
- OS, Lazarus, FPC: Windows(10), Linux(Arch)
- CPU-Target: 64Bit
Unit für weiche Farb und Positionsübergänge
Liebes Forum,
Vor kurzem suchte ich einen Algorithmus, womit weiche Bewegungen/Übergänge erzeugt werden können.
Man findet jedoch nichts, was man in irgendeiner Weise nach Pascal übersetzen könnte. Deswegen habe ich mich hingesetzt und habe eine Methode für Zahlen und eine für Farben(anwendung der ersten Methode) geschrieben.
Da ich gerne meine Erfahrungen teilen, und eure Meinung dazu hören/lesen wollte, stelle ich euch eine kurze Unit mit einer Testanwendung zur verfügung.
(Da es sich nicht um viel Quelltext handelt, verzichte ich auf jede Form der lizensierung(kann jeder beliebig verwenden))
Nach dem kompilieren des Beispielprojektes einfach auf den Button oder das Fenster klicken und zusehen
Kritik, Meinungsäußerungen, Verbesserungsvorschläge, etc. sind erwünscht
MFG
Komoluna
Vor kurzem suchte ich einen Algorithmus, womit weiche Bewegungen/Übergänge erzeugt werden können.
Man findet jedoch nichts, was man in irgendeiner Weise nach Pascal übersetzen könnte. Deswegen habe ich mich hingesetzt und habe eine Methode für Zahlen und eine für Farben(anwendung der ersten Methode) geschrieben.
Da ich gerne meine Erfahrungen teilen, und eure Meinung dazu hören/lesen wollte, stelle ich euch eine kurze Unit mit einer Testanwendung zur verfügung.
(Da es sich nicht um viel Quelltext handelt, verzichte ich auf jede Form der lizensierung(kann jeder beliebig verwenden))
Nach dem kompilieren des Beispielprojektes einfach auf den Button oder das Fenster klicken und zusehen
Kritik, Meinungsäußerungen, Verbesserungsvorschläge, etc. sind erwünscht
MFG
Komoluna
- Dateianhänge
-
smoothtransitions.rar
- Die entsprechende Unit+Testanwendung
- (2.62 KiB) 136-mal heruntergeladen
Programmer: A device to convert coffee into software.
Rekursion: siehe Rekursion.
Rekursion: siehe Rekursion.
-
- Beiträge: 41
- Registriert: Do 11. Okt 2012, 18:50
- OS, Lazarus, FPC: Win7 (L 1.0.0.2 FPC 2.6.0)
- CPU-Target: 32Bit
- Wohnort: Rügen
- Kontaktdaten:
Re: Unit für weiche Farb und Positionsübergänge
gefällt mir!
hast du auch schon mal einen Farbkreis programmiert?
hast du auch schon mal einen Farbkreis programmiert?
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: Unit für weiche Farb und Positionsübergänge
Kennst du GradientFill() aus der unit Graphics?
http://lazarus-ccr.sourceforge.net/docs ... tfill.html
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
http://lazarus-ccr.sourceforge.net/docs ... tfill.html
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Unit für weiche Farb und Positionsübergänge
Auch in MSEgui gibt es Farbverläufe in Form der "twidget" property "face.fade", siehe procedure tcustomface.paint(), falls es dir nicht nur um zeitlich veränderliche Effekte geht.
http://sourceforge.net/p/mseide-msegui/ ... msegui.pas
Zum Entwerfen hat MSEide einen Dialog:
http://sourceforge.net/p/mseide-msegui/ ... msegui.pas
Zum Entwerfen hat MSEide einen Dialog:
-
- Beiträge: 565
- Registriert: So 26. Aug 2012, 09:03
- OS, Lazarus, FPC: Windows(10), Linux(Arch)
- CPU-Target: 64Bit
Re: Unit für weiche Farb und Positionsübergänge
1. Danke für das Feedback
2. Was meinst du mit Farbkreis? (sowas: http://www.html-seminar.de/bilder/farbkreis.jpg)
3. Gradientfill kann zwar Farbverläufe über Bildkoordinaten, aber mein Ziel war ja ein Farbverlauf mit der Zeit.
4. Es ist ja nicht nur eine Farbtransitionsmethode sondern auch eine allgemeine Transitionsmethode für Bewegungen enthalten.
5. Bei meinem Pokémon-clone sind in dem mit escape aufrufbaren Menü beide funktionen eingebaut(dafür habe ich sie entwickelt)
Für das weiche der Bewegung verwende ich den Tangens Hyperbolicus, dessen veränderung am Anfang und am Ende verlangsamt, was eine Art "natürliche" Bewegung/Übergang erschafft.
Edit: Wie gesagt, wenn irgendwer die funktionen verwenden will(direkt oder als Idee), so kann er das gerne tun.
Als ich sowas gesucht habe, hab ich stundenlang gesucht, ohne etwas vernünftiges zu finden(es muss ja nicht jeder das Rad neu erfinden
)
2. Was meinst du mit Farbkreis? (sowas: http://www.html-seminar.de/bilder/farbkreis.jpg)
3. Gradientfill kann zwar Farbverläufe über Bildkoordinaten, aber mein Ziel war ja ein Farbverlauf mit der Zeit.
4. Es ist ja nicht nur eine Farbtransitionsmethode sondern auch eine allgemeine Transitionsmethode für Bewegungen enthalten.
5. Bei meinem Pokémon-clone sind in dem mit escape aufrufbaren Menü beide funktionen eingebaut(dafür habe ich sie entwickelt)
Für das weiche der Bewegung verwende ich den Tangens Hyperbolicus, dessen veränderung am Anfang und am Ende verlangsamt, was eine Art "natürliche" Bewegung/Übergang erschafft.
Edit: Wie gesagt, wenn irgendwer die funktionen verwenden will(direkt oder als Idee), so kann er das gerne tun.
Als ich sowas gesucht habe, hab ich stundenlang gesucht, ohne etwas vernünftiges zu finden(es muss ja nicht jeder das Rad neu erfinden

Programmer: A device to convert coffee into software.
Rekursion: siehe Rekursion.
Rekursion: siehe Rekursion.
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Unit für weiche Farb und Positionsübergänge
Da könntest du auch einen Blick in die Fahrstuhlsimulation in Kapitel 5 vonKomoluna hat geschrieben: Für das weiche der Bewegung verwende ich den Tangens Hyperbolicus, dessen veränderung am Anfang und am Ende verlangsamt, was eine Art "natürliche" Bewegung/Übergang erschafft.
http://www.lazarusforum.de/viewtopic.php?f=53&t=7432
werfen welche ohne transzendente Funktion auskommt. Dabei werden sowohl Beschleunigung als auch Geschwindigkeit begrenzt, was dann recht sanft wirkt.
-
- Beiträge: 41
- Registriert: Do 11. Okt 2012, 18:50
- OS, Lazarus, FPC: Win7 (L 1.0.0.2 FPC 2.6.0)
- CPU-Target: 32Bit
- Wohnort: Rügen
- Kontaktdaten:
Re: Unit für weiche Farb und Positionsübergänge
ja genau so ein Kreis, hast du schon sowas gemacht oder jemand anders vll?Komoluna hat geschrieben:2. Was meinst du mit Farbkreis? (sowas: http://www.html-seminar.de/bilder/farbkreis.jpg)
-
- Beiträge: 565
- Registriert: So 26. Aug 2012, 09:03
- OS, Lazarus, FPC: Windows(10), Linux(Arch)
- CPU-Target: 64Bit
Re: Unit für weiche Farb und Positionsübergänge
hab ich noch nie ausprobiert, wäre aber mal interessant...
Programmer: A device to convert coffee into software.
Rekursion: siehe Rekursion.
Rekursion: siehe Rekursion.