ScaleAnimation Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de