ScaleAnimation Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit des méthodes qui vous permettent de récupérer les paramètres d’une animation de mise à l’échelle (croissante ou réduite).
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
- Héritage
- Attributs
- Implémente
Configuration requise pour Windows
Famille d’appareils |
Windows Desktop Extension SDK (introduit dans 10.0.10240.0)
|
API contract |
Windows.UI.Core.AnimationMetrics.AnimationMetricsContract (introduit dans v1.0)
|
Exemples
Pour obtenir une instance de la classe ScaleAnimation, vous obtenez d’abord la collection d’animations dans la description de l’animation, puis parcourez ce tableau d’animations pour rechercher celles qui sont de type échelle. Les exemples suivants illustrent ce processus. Les paramètres d’effet et de cible sont supposés avoir été affectés précédemment.
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;
}
}
Remarques
L’échelle est un facteur appliqué à l’objet dans la direction x ou y. Une valeur d’échelle de 1.0 ne représente aucune mise à l’échelle, inférieure à 1 représente la réduction et supérieure à 1 représente l’agrandissement.
Le point d’origine d’une échelle représente le point central autour duquel la mise à l’échelle doit avoir lieu. Ce point reste fixe tout au long de l’animation ; il ne s’anime pas. L’origine est indiquée sous forme de fraction de la taille de l’objet. Par exemple, une normalizedOrigin. X de 0,25 représente un point 25 % du chemin entre le bord gauche et le bord droit de l’objet. Si l’objet a une largeur de 100 pixels, normalizedOrigin. X représente un point situé à 25 pixels du bord gauche de l’objet.
Notes
Les sens de gauche et de droite sont inversés sur les systèmes RTL (droite à gauche).
Prenons l’exemple d’un objet dont le rectangle de coordonnées est (100, 150, 200, 300), exprimé au format (gauche, haut, droite, bas). Supposons que l’échelle x interpolée est 0,4, que l’échelle y interpolée est 2.0, que l’origine x est 0,25 et que l’origine y est 0,80.
Tout d’abord, convertissez les valeurs d’origine normalisées en pixels. La largeur de l’objet est de 100 pixels et l’origine x est donnée sous la forme 0,25, ce qui entraîne une origine x de 25 pixels à partir de la gauche de l’objet. Étant donné que la coordonnée gauche de l’objet est 100, la coordonnée x de l’origine est 125.
De même, la hauteur de l’objet est de 150 pixels et l’origine y est de 0,80, ce qui entraîne une origine y de 120 pixels du haut de l’objet. Étant donné que la coordonnée supérieure de l’objet est 150, la coordonnée y de l’origine est 245.
Pour appliquer la transformation d’échelle, nous traduisons d’abord l’objet par le négatif de l’origine, en le déplaçant vers (-25, -95, 75, 55). Ensuite, nous multiplions les coordonnées gauche et droite par l’échelle x et les coordonnées supérieures et inférieures par l’échelle y, ce qui aboutit à (-10, -190, 30, 110). Enfin, nous traduisons l’objet par l’origine, ce qui aboutit à (115, 55, 155, 300).
Les propriétés InitialScaleX et InitialScaleY sont garanties pour être définies ou non. S’ils ne sont pas définis, l’échelle actuelle de l’objet doit être utilisée comme valeur initiale de l’animation.
Les contrôles de minutage Control1 et Control2 spécifient l’emplacement des premier et deuxième points de contrôle d’une courbe de Bézier cubique. Ces deux points ont la même signification que dans la propriété transition-timing-function CSS. Le point de contrôle zéro est toujours (0,0) et le point de contrôle trois est toujours (1,1). Les coordonnées de Control1 et Control2 sont toujours comprises entre 0 et 1, inclus.
Sur la courbe de Bézier résultante, la coordonnée x représente l’heure et la coordonnée y représente la progression. La courbe brute de (0,0) à (1,1) est mise à l’échelle pour correspondre à la durée et à la plage réelles de la transition animée, de sorte que x=0 est l’heure de début de la transformation, x=1 est l’heure de fin, y=0 est la valeur initiale de la propriété animée et y=1 est la valeur finale. Les valeurs de x et y comprises entre 0 et 1 représentent les valeurs intermédiaires correspondantes du temps et de l’animation.
Propriétés
Control1 |
Obtient l’emplacement du premier point de contrôle de la courbe de Bézier cubique qui décrit comment l’échelle doit s’animer au fil du temps. |
Control2 |
Obtient l’emplacement du deuxième point de contrôle de la courbe de Bézier cubique qui décrit comment l’échelle doit s’animer au fil du temps. |
Delay |
Obtient le délai entre le moment où l’animation de mise à l’échelle doit commencer et le moment où cette animation commence réellement à dessiner. |
Duration |
Obtient la durée pendant laquelle l’animation de mise à l’échelle doit être effectuée. Cela n’inclut pas le délai. |
FinalScaleX |
Obtient le facteur d’échelle horizontal final pour l’objet. |
FinalScaleY |
Obtient le facteur d’échelle vertical final pour l’objet. |
InitialScaleX |
Obtient le facteur d’échelle horizontal initial pour l’objet. |
InitialScaleY |
Obtient le facteur d’échelle vertical initial pour l’objet. |
NormalizedOrigin |
Obtient le point central de l’animation de mise à l’échelle, exprimé sous forme de point par rapport à la taille normale de l’objet. |
Type |
Obtient le type d’animation représenté par cet objet. |