ScaleAnimation 클래스

정의

크기 조정(증가 또는 축소) 애니메이션에 대한 매개 변수를 검색할 수 있는 메서드를 제공합니다.

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
상속
Object Platform::Object IInspectable ScaleAnimation
특성
구현

Windows 요구 사항

디바이스 패밀리
Windows Desktop Extension SDK (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.UI.Core.AnimationMetrics.AnimationMetricsContract (v1.0에서 도입되었습니다.)

예제

ScaleAnimation 클래스의 instance 가져오려면 먼저 애니메이션 설명에서 애니메이션 컬렉션을 가져온 다음 해당 애니메이션 배열을 걸어서 크기 조정 형식의 모든 애니메이션을 찾습니다. 다음 예제에서는 이 프로세스를 보여 줍니다. 효과대상 매개 변수는 이전에 할당된 것으로 간주됩니다.

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

설명

눈금은 x- 또는 y 방향의 개체에 적용되는 요소입니다. 배율 값 1.0은 크기 조정을 나타내지 않고, 1보다 작음은 축소를 나타내고, 1보다 크면 배율을 나타냅니다.

눈금의 원점은 크기 조정이 수행되어야 하는 중심점을 나타냅니다. 이 점은 애니메이션 전체에서 고정된 상태로 유지되며, 애니메이션 효과를 주지 않습니다. 원본은 개체 크기의 일부로 표시됩니다. 예를 들어 NormalizedOrigin입니다. 0.25의 X는 개체의 왼쪽 가장자리에서 오른쪽 가장자리까지의 점 25%를 나타냅니다. 개체 너비가 100픽셀이면 NormalizedOrigin입니다. X는 개체의 왼쪽 가장자리에서 25픽셀의 점을 나타냅니다.

참고

왼쪽과 오른쪽의 감각은 RTL(오른쪽에서 왼쪽) 시스템에서 대칭 이동됩니다.

예를 들어 좌표 사각형이 (100, 150, 200, 300), (왼쪽, 위쪽, 오른쪽, 아래쪽) 형식으로 표현된 개체를 고려해 보세요. 보간된 x-scale이 0.4이고 보간된 y-scale이 2.0이고 x-origin이 0.25이고 y-origin이 0.80이라고 가정합니다.

먼저 정규화된 원점 값을 픽셀로 변환합니다. 개체의 너비는 100픽셀이고 x-origin은 0.25로 지정되어 개체 왼쪽에서 25픽셀의 x-원점이 생성됩니다. 개체의 왼쪽 좌표는 100이므로 원점의 x 좌표는 125입니다.

마찬가지로 개체의 높이는 150픽셀이고 y-origin은 0.80이므로 개체 위쪽에서 120픽셀의 y 원점이 생성됩니다. 개체의 위쪽 좌표는 150이므로 원점의 y 좌표는 245입니다.

배율 변환을 적용하기 위해 먼저 개체를 원점의 음수로 변환하여 (-25, -95, 75, 55)로 이동합니다. 다음으로 왼쪽 및 오른쪽 좌표를 x 배율과 위쪽 및 아래쪽 좌표에 y 배율로 곱합니다(-10, -190, 30, 110). 마지막으로 개체를 원점별로 변환합니다( 115, 55, 155, 300).

InitialScaleXInitialScaleY 속성은 둘 다 설정되거나 둘 다 설정되지 않도록 보장됩니다. 설정되지 않은 경우 현재 개체 배율을 애니메이션의 초기 값으로 사용해야 합니다.

타이밍 컨트롤 Control1Control2 는 입방형 베지어 곡선의 첫 번째 및 두 번째 제어점 위치를 지정합니다. 이 두 지점은 CSS 전환-타이밍 함수 속성에서와 동일한 의미를 갖습니다. 제어점 0은 항상(0,0)이고 제어점 3은 항상(1,1)입니다. Control1Control2의 좌표는 항상 0에서 1 사이의 범위에 포함됩니다.

결과 Bézier 곡선에서 x 좌표는 시간을 나타내고 y 좌표는 진행률을 나타냅니다. (0,0)에서 (1,1)로의 원시 곡선은 애니메이션 전환의 실제 기간 및 범위와 일치하도록 크기가 조정되므로 x=0은 변환의 시작 시간이고 x=1은 종료 시간, y=0은 애니메이션 속성의 초기 값이고 y=1은 최종 값입니다. 0에서 1 사이의 x와 y 값은 해당 시간 및 애니메이션의 중간 값을 나타냅니다.

속성

Control1

시간이 지남에 따라 배율에 애니메이션 효과를 주는 방법을 설명하는 입방형 베지어 곡선의 첫 번째 제어점 위치를 가져옵니다.

Control2

시간이 지남에 따라 배율에 애니메이션 효과를 주는 방법을 설명하는 입방형 베지어 곡선의 두 번째 제어점 위치를 가져옵니다.

Delay

크기 조정 애니메이션이 시작하도록 지시된 시간과 해당 애니메이션이 실제로 그리기 시작하는 시점 사이의 시간을 가져옵니다.

Duration

크기 조정 애니메이션을 수행해야 하는 시간을 가져옵니다. 여기에는 지연이 포함되지 않습니다.

FinalScaleX

개체의 최종 가로 배율 인수를 가져옵니다.

FinalScaleY

개체의 마지막 세로 배율 인수를 가져옵니다.

InitialScaleX

개체의 초기 가로 배율 인수를 가져옵니다.

InitialScaleY

개체의 초기 세로 배율 인수를 가져옵니다.

NormalizedOrigin

개체의 일반 크기를 기준으로 포인트로 표현되는 크기 조정 애니메이션의 중심점을 가져옵니다.

Type

이 개체가 나타내는 애니메이션의 형식을 가져옵니다.

적용 대상

추가 정보