ScaleAnimation Clase

Definición

Proporciona métodos que permiten recuperar los parámetros de una animación de escalado (crecimiento o reducción).

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
Herencia
Object Platform::Object IInspectable ScaleAnimation
Atributos
Implementaciones

Requisitos de Windows

Familia de dispositivos
Windows Desktop Extension SDK (se introdujo en la versión 10.0.10240.0)
API contract
Windows.UI.Core.AnimationMetrics.AnimationMetricsContract (se introdujo en la versión v1.0)

Ejemplos

Para obtener una instancia de la clase ScaleAnimation, primero se obtiene la colección de animaciones en la descripción de la animación y, a continuación, se recorre esa matriz de animaciones para buscar cualquier que sea de escala de tipo. En los ejemplos siguientes se muestra este proceso. Se supone que el efecto y los parámetros de destino se han asignado previamente.

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;
    }
}

Comentarios

La escala es un factor que se aplica al objeto en la dirección x o y. Un valor de escala de 1,0 no representa ningún escalado, menor que 1 representa la reducción y mayor que 1 representa la ampliación.

El punto de origen de una escala representa el punto central alrededor del cual se debe realizar el escalado. Este punto permanece fijo a lo largo de la animación; no se anima. El origen se indica como una fracción del tamaño del objeto. Por ejemplo, normalizedOrigin. X de 0,25 representa un punto 25 % del camino desde el borde izquierdo hasta el borde derecho del objeto. Si el objeto tiene un ancho de 100 píxeles, normalizedOrigin. X representa un punto de 25 píxeles desde el borde izquierdo del objeto.

Nota:

La sensación de izquierda y derecha se voltea en sistemas de derecha a izquierda (RTL).

Por ejemplo, considere un objeto cuyo rectángulo de coordenadas es (100, 150, 200, 300), expresado en formato (izquierda, superior, derecha, inferior). Supongamos que la escala x interpolada es 0,4, la escala y interpolada es 2,0, el origen x es 0,25 y el origen y es 0,80.

En primer lugar, convierta los valores de origen normalizados en píxeles. El ancho del objeto es de 100 píxeles y el origen x se proporciona como 0,25, lo que da como resultado un origen x de 25 píxeles a la izquierda del objeto. Dado que la coordenada izquierda del objeto es 100, la coordenada x del origen es 125.

Del mismo modo, el alto del objeto es de 150 píxeles y el origen y es 0,80, lo que da como resultado un origen y de 120 píxeles desde la parte superior del objeto. Dado que la coordenada superior del objeto es 150, la coordenada y del origen es 245.

Para aplicar la transformación de escala, primero traducimos el objeto por el negativo del origen, movándolo a (-25, -95, 75, 55). A continuación, multiplicamos las coordenadas izquierda y derecha por la escala x y las coordenadas superior e inferior por la escala y, lo que da como resultado (-10, -190, 30, 110). Por último, traducimos el objeto por el origen, lo que da como resultado (115, 55, 155, 300).

Se garantiza que las propiedades InitialScaleX e InitialScaleY se establecen o no. Si no se establecen, la escala de objetos actual se debe usar como valor inicial de la animación.

Los controles de control de tiempo Control1 y Control2 especifican la ubicación de los puntos de control primero y segundo de una curva Bézier cúbica. Estos dos puntos tienen el mismo significado que en la propiedad css transition-timing-function . El punto de control cero siempre es (0,0) y el punto de control tres es siempre (1,1). Las coordenadas de Control1 y Control2 siempre están en el intervalo de 0 a 1, ambos incluidos.

En la curva Bézier resultante, la coordenada x representa el tiempo y la coordenada y representa el progreso. La curva sin procesar de (0,0) a (1,1) se escala para que coincida con la duración real y el intervalo de la transición animada, de modo que x=0 es la hora de inicio de la transformación, x=1 es la hora de finalización, y=0 es el valor inicial de la propiedad animada y y=1 es el valor final. Los valores de x e y entre 0 y 1 representan los valores intermedios correspondientes de tiempo y la animación.

Propiedades

Control1

Obtiene la ubicación del primer punto de control de la curva Bézier cúbica que describe cómo se debe animar la escala con el tiempo.

Control2

Obtiene la ubicación del segundo punto de control de la curva Bézier cúbica que describe cómo se debe animar la escala con el tiempo.

Delay

Obtiene la cantidad de tiempo entre el momento en que se indica a la animación de escala que comience y cuando esa animación comience realmente a dibujarse.

Duration

Obtiene la cantidad de tiempo durante el que se debe realizar la animación de escala. Esto no incluye el retraso.

FinalScaleX

Obtiene el factor de escala horizontal final para el objeto .

FinalScaleY

Obtiene el factor de escala vertical final para el objeto .

InitialScaleX

Obtiene el factor de escala horizontal inicial para el objeto .

InitialScaleY

Obtiene el factor de escala vertical inicial para el objeto .

NormalizedOrigin

Obtiene el punto central de la animación de escalado, expresado como un punto relativo al tamaño normal del objeto.

Type

Obtiene el tipo de animación representada por este objeto.

Se aplica a

Consulte también