ScaleAnimation Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Methoden bereit, mit denen Sie die Parameter für eine Skalierungsanimation (Vergrößerung oder Verkleinerung) abrufen können.
public ref class ScaleAnimation sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.UI.Core.AnimationMetrics.AnimationMetricsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ScaleAnimation final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.UI.Core.AnimationMetrics.AnimationMetricsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ScaleAnimation
Public NotInheritable Class ScaleAnimation
- Vererbung
- Attribute
- Implementiert
Windows-Anforderungen
Gerätefamilie |
Windows Desktop Extension SDK (eingeführt in 10.0.10240.0)
|
API contract |
Windows.UI.Core.AnimationMetrics.AnimationMetricsContract (eingeführt in v1.0)
|
Beispiele
Um eine instance der ScaleAnimation-Klasse zu erhalten, rufen Sie zunächst die Sammlung von Animationen in der Animationsbeschreibung ab und gehen dann in diesem Array von Animationen nach beliebigen Animationen vom Typ Skalierung. In den folgenden Beispielen wird dieser Prozess veranschaulicht. Es wird davon ausgegangen, dass die Parameter effect und target zuvor zugewiesen wurden.
using Windows.UI.Core.AnimationMetrics;
AnimationDescription animationDescription = new AnimationDescription(effect, target);
foreach (var animation in animationDescription.Animations)
{
switch (animation.Type)
{
case PropertyAnimationType.Scale:
{
ScaleAnimation scale = animation as ScaleAnimation;
// Retrieve scale animation metrics.
}
break;
case PropertyAnimationType.Translation:
{
TranslationAnimation scale = animation as TranslationAnimation;
// Retrieve translation animation metrics.
}
break;
case PropertyAnimationType.Opacity:
{
OpacityAnimation opacity = animation as OpacityAnimation;
// Retrieve opacity animation metrics.
}
break;
}
}
Hinweise
Die Skalierung ist ein Faktor, der in x- oder y-Richtung auf das Objekt angewendet wird. Ein Skalierungswert von 1,0 steht für keine Skalierung, kleiner als 1 für Verkleinerung und größer als 1 für die Vergrößerung.
Der Ursprungspunkt einer Skala stellt den Mittelpunkt dar, um den die Skalierung erfolgen soll. Dieser Punkt bleibt während der gesamten Animation festgelegt; es wird nicht animiert. Der Ursprung wird als Bruchteil der Objektgröße angegeben. Beispiel: NormalizedOrigin. X von 0,25 stellt einen Punkt von 25 % des Weges vom linken Rand zum rechten Rand des Objekts dar. Wenn das Objekt 100 Pixel breit ist, dann ein NormalizedOrigin. X stellt einen Punkt 25 Pixel vom linken Rand des Objekts dar.
Hinweis
Der Sinn von links und rechts wird in Rechts-nach-Links-Systemen (RTL) umgedreht.
Betrachten Sie als Beispiel ein Objekt, dessen Koordinatenrechteck (100, 150, 200, 300) im Format (links, oben, rechts, unten) ausgedrückt ist. Angenommen, die interpolierte x-Skala ist 0,4, die interpolierte y-Skala ist 2,0, der x-Ursprung ist 0,25 und der y-Ursprung ist 0,80.
Konvertieren Sie zunächst die normalisierten Ursprungswerte in Pixel. Die Breite des Objekts beträgt 100 Pixel, und der x-Ursprung wird als 0,25 angegeben, was zu einem x-Ursprung von 25 Pixeln von der linken Seite des Objekts führt. Da die linke Koordinate des Objekts 100 ist, ist die x-Koordinate des Ursprungs 125.
Ebenso beträgt die Höhe des Objekts 150 Pixel und der y-Ursprung 0,80, was zu einem y-Ursprung von 120 Pixeln vom oberen Rand des Objekts führt. Da die obere Koordinate des Objekts 150 ist, ist die y-Koordinate des Ursprungs 245.
Um die Skalierungstransformation anzuwenden, übersetzen wir das Objekt zuerst durch das Negative des Ursprungs und verschieben es in (-25, -95, 75, 55). Als Nächstes multiplizieren wir die linke und rechte Koordinate mit der x-Skala und die obere und untere Koordinate mit der y-Skala, was zu (-10, -190, 30, 110) führt. Schließlich übersetzen wir das Objekt nach dem Ursprung, was zu (115, 55, 155, 300) führt.
Die Eigenschaften InitialScaleX und InitialScaleY sind entweder entweder festgelegt oder nicht festgelegt. Wenn sie nicht festgelegt sind, sollte die aktuelle Objektskala als Anfangswert der Animation verwendet werden.
Die Steuerungssteuerelemente Control1 und Control2 geben die Position des ersten und zweiten Kontrollpunkts einer kubischen Bézierkurve an. Diese beiden Punkte haben dieselbe Bedeutung wie in der CSS-Eigenschaft transition-timing-function . Kontrollpunkt 0 ist immer (0,0) und Kontrollpunkt 3 ist immer (1,1). Die Koordinaten von Control1 und Control2 liegen immer im Bereich von 0 bis 1 (einschließlich).
In der resultierenden Bézierkurve stellt die x-Koordinate die Zeit und die y-Koordinate den Fortschritt dar. Die rohe Kurve von (0,0) bis (1,1) wird entsprechend der tatsächlichen Dauer und des Tatsächlichen Bereichs des animierten Übergangs skaliert, sodass x=0 die Startzeit der Transformation ist, x=1 die Endzeit, y=0 der Anfangswert der animierten Eigenschaft und y=1 der Endwert ist. Werte von x und y zwischen 0 und 1 stellen die entsprechenden Zwischenwerte der Zeit und der Animation dar.
Eigenschaften
Control1 |
Ruft die Position des ersten Kontrollpunkts für die kubische Bézierkurve ab, die beschreibt, wie die Skalierung im Laufe der Zeit animiert werden soll. |
Control2 |
Ruft die Position des zweiten Kontrollpunkts für die kubische Bézierkurve ab, die beschreibt, wie die Skalierung im Laufe der Zeit animiert werden soll. |
Delay |
Ruft den Zeitraum ab, der zwischen dem Beginn der Skalierungsanimation und dem Zeitpunkt, an dem diese Animation tatsächlich zu zeichnen beginnt, liegt. |
Duration |
Ruft den Zeitraum ab, in dem die Skalierungsanimation ausgeführt werden soll. Dies schließt die Verzögerung nicht ein. |
FinalScaleX |
Ruft den endgültigen horizontalen Skalierungsfaktor für das -Objekt ab. |
FinalScaleY |
Ruft den endgültigen vertikalen Skalierungsfaktor für das -Objekt ab. |
InitialScaleX |
Ruft den anfänglichen horizontalen Skalierungsfaktor für das -Objekt ab. |
InitialScaleY |
Ruft den anfänglichen vertikalen Skalierungsfaktor für das -Objekt ab. |
NormalizedOrigin |
Ruft den Mittelpunkt für die Skalierungsanimation ab, ausgedrückt als Punkt relativ zur normalen Größe des Objekts. |
Type |
Ruft den Typ der Animation ab, die von diesem -Objekt dargestellt wird. |