FMX.Types.TInterpolationType

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

TInterpolationType = (Linear, Quadratic, Cubic, Quartic, Quintic, Sinusoidal, Exponential, Circular, Elastic, Back, Bounce);

C++

enum class DECLSPEC_DENUM TInterpolationType : unsigned int { Linear, Quadratic, Cubic, Quartic, Quintic, Sinusoidal, Exponential, Circular, Elastic, Back, Bounce };

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
enum public
FMX.Types.pas
FMX.Types.hpp
FMX.Types FMX.Types

Beschreibung

Der Typ der Eigenschaft Interpolation einer Animation.

Legt die Geschwindigkeit fest, mit der der aktuelle Wert (oder StartValue) einer Eigenschaft in einem gewissen Zeitraum in den Zielwert (StopValue) geändert wird. Bei der grafischen Darstellung des Wertes einer Eigenschaft, für die die Animation erfolgt (mit der TAnimation-Eigenschaft PropertyName) wird ein Endpunkt durch den Startwert bei t=0 dargestellt. Der andere Endpunkt ist der Stoppwert bei t=Duration Sekunden. Diese beiden Punkte können durch verschiedene Pfade verbunden werden. Die einzige Anforderung besteht darin, dass die Zeit voranschreitet! TInterpolationType stellt eine Vielzahl von Pfaden zur Auswahl bereit.

Mit einem TInterpolationType von Linear ändert sich der Wert der Eigenschaft linear, und der Pfad zwischen dem Start- und dem Stopppunkt ist eine gerade Linie. Dieser und weitere Werte für TInterpolationType werden in der folgenden Tabelle beschrieben.

Eine visuelle Demonstration finden Sie in dem Codebeispiel AttachTAnimation (Delphi) über den Link am Ende dieser Seite.

TInterpolationType kann einen der folgenden Werte annehmen:

Wert Bedeutung

Linear

Eine lineare Interpolation. Der Eigenschaftswert dieser Animation wird im Laufe der Zeit konstant geändert.

Quadratic

Für den Pfad zwischen dem Start- und dem Stopppunkt wird eine quadratische Funktion verwendet. Die Steigung des Pfades ist am Startpunkt null und erhöht sich konstant im Laufe der Zeit. Ein Skalar wird auf die Funktion angewendet, damit der Endpunkt auf den Pfad fällt.

Cubic

Die Interpolation hat die Form y = x**3. Die Steigung des Pfades ist am Startpunkt null und erhöht sich viel schneller als die quadratische Funktion über den Pfad.

Quartic

Die Interpolation hat die Form y = x**4. Die Steigung des Pfades ist am Startpunkt null und erhöht sich viel schneller als die quadratische Funktion über den Pfad.

Quintic

Die Interpolation hat die Form y = x**5. Die Steigung des Pfades ist am Startpunkt null und erhöht sich viel schneller als die quadratische Funktion über den Pfad.

Sinusoidal

Die Interpolation hat die Form y = sin(x). Die Steigung des Pfades ist am Startpunkt null und setzt den ersten Wendepunkt der Sinuskurve (x=pi) am Stopppunkt.

Exponential

Die Interpolation hat die Form y = e**x. Die Steigung des Pfades ist am Startpunkt eins und erhöht sich viel schneller als die quadratische Funktion über den Pfad.

Circular

Der Pfad zwischen den Start- und dem Stopppunkt für diese Interpolation ist ein Viertelkreis. Die Steigung des Pfades ist am Startpunkt null und vertikal am Stopppunkt.

Elastic

Der Pfad folgt einer progressiven, sinusförmigen geometrischen Interpolation. Die sinusförmige Amplitude des Pfades kann abhängig vom Typ der Animation (in/out) am Anfang kleiner und am Ende größer oder umgekehrt sein.

Back

Der Pfad folgt keiner geometrischen Interpolation. Der Wert (Y-Koordinate) wird bis hin zum Startwert kleiner, aber die Zeit (X-Wert) muss sich immer in eine positive Richtung bewegen.

Bounce

Dieser Pfad stellt einen Aufsetzer (Ball) dar. Der Pfad besteht aus kreisförmigen Kurven mit einer von der Geraden, die den Start- und den Stopppunkt verbindet, abgewandten Krümmung. Diese Kurven sind durch spitze Punkte verbunden.

Mehrere Eigenschaften von TAnimation und TFloatAnimation können den durch die Interpolation festgelegten Pfad beeinflussen. Die obigen Beschreibungen gelten für:

  • StartFromCurrent = True
  • AnimationType = atIn

Wird AnimationType auf Out gesetzt, beziehen sich die obigen Ausführungen nicht mehr auf den Startpunkt, sondern auf den Stopppunkt. Weitere Informationen zu den jeweiligen Auswirkungen finden Sie in der Dokumentation zu diesen Animationseigenschaften.

Siehe auch

Codebeispiele