다음을 통해 공유


CompositionSurfaceBrush 클래스

정의

ICompositionSurface의 픽셀로 SpriteVisual 을 그립니다.

public ref class CompositionSurfaceBrush sealed : CompositionBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CompositionSurfaceBrush final : CompositionBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CompositionSurfaceBrush : CompositionBrush
Public NotInheritable Class CompositionSurfaceBrush
Inherits CompositionBrush
상속
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionSurfaceBrush
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10586.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v2.0에서 도입되었습니다.)

예제

SpriteVisual에 이미지 자산 그리기

private SpriteVisual CreateImageVisual(ICompositionSurface imageSurface)
{
  SpriteVisual imageVisual = _compositor.CreateSpriteVisual();
  imageVisual.Size = new Vector2(300, 200);

  CompositionSurfaceBrush imageBrush = _compositor.CreateSurfaceBrush();
  imageBrush.Surface = imageSurface;

  // specify CompositionStretch on SurfaceBrush and horizontal/vertical alignment
  imageBrush.Stretch = CompositionStretch.UniformToFill;
  imageBrush.HorizontalAlignmentRatio = 0.5f;
  imageBrush.VerticalAlignmentRatio = 0.5f;

  imageVisual.Brush = imageBrush;
  return imageVisual;
}

CompositionSurfaceBrush에 사용자 지정 배율 변환 애니메이션 적용

private void AnimateBrushScale(SpriteVisual imageVisual)
{
  CompositionSurfaceBrush imageBrush = (CompositionSurfaceBrush)imageVisual.Brush;

  // set brush CenterPoint at the center of the content painted onto imageVisual 
  imageBrush.CenterPoint = imageVisual.Size / 2;

  // set up scale keyframe animation
  CompositionScopedBatch batch = _compositor.CreateScopedBatch(CompositionBatchTypes.Animation);
  Vector2KeyFrameAnimation scaleAnimation = _compositor.CreateVector2KeyFrameAnimation();
  scaleAnimation.InsertKeyFrame(1.0f, new Vector2(1.5f));
  scaleAnimation.Duration = TimeSpan.FromMilliseconds(500);

  // start animation on CompositionSurfaceBrush.Scale
  imageBrush.StartAnimation("Scale", scaleAnimation);

  // end animation batch and fire completion event
  batch.End();
  batch.Completed += ScaleAnimationBatch_Completed;
} 

설명

Stretch 속성은 HorizontalAlignmentRatio 및 VerticalAlignmentRatio 속성과 함께 SpriteVisual에 칠할 때 CompositionSurfaceBrush 콘텐츠의 배율 및 위치를 지정하는 데 사용됩니다.

CompositionSurfaceBrush에는 사용자 지정 변환을 사용하도록 설정하는 다음과 같은 속성도 있습니다.

  • AnchorPoint
  • CenterPoint
  • Offset
  • RotationAngle
  • RotationAngleInDegrees
  • 확장
  • TransformMatrix

CompositionSurfaceBrush의 변환 작업 순서는 다음과 같습니다.

  1. CompositionSurfaceBrush의 콘텐츠는 SpriteVisual 에 확장되고 정렬됩니다( Stretch, HorizontalAlignmentRatioVerticalAlignmentRatio 속성 참조).

  2. CompositionSurfaceBrush에 설정된 다른 모든 변환 속성이 적용됩니다.

    CompositionSurfaceBrush에 적용된 사용자 지정 변환은 브러시가 그려진 SpriteVisual의 좌표 공간에서 평가됩니다. 예를 들어 Vector2(100, 0)의 오프셋을 설정하면 브러시가 그린 SpriteVisual 의 왼쪽 가장자리를 기준으로 브러시의 늘어나고 정렬된 내용을 오른쪽으로 100 단위로 오프셋합니다.

버전 기록

Windows 버전 SDK 버전 추가된 값
1607 14393 AnchorPoint
1607 14393 CenterPoint
1607 14393 Offset
1607 14393 RotationAngle
1607 14393 RotationAngleInDegrees
1607 14393 확장
1607 14393 TransformMatrix
1903 18362 SnapToPixels

속성

AnchorPoint

브러시의 오프셋에 배치할 브러시의 점입니다. 값은 SpriteVisual의 크기와 관련하여 정규화됩니다.

BitmapInterpolationMode

SpriteVisual의 픽셀에 대한 일대일 매핑을 형성하지 않을 때 ICompositionSurface에서 픽셀을 보간하는 데 사용되는 알고리즘을 지정합니다(스트레치, 배율, 회전 및 기타 변환에서 발생할 수 있음).

CenterPoint

브러시가 회전 및 크기 조정되는 지점입니다.

Comment

CompositionObject와 연결할 문자열입니다.

(다음에서 상속됨 CompositionObject)
Compositor

CompositionObject를 만드는 데 사용되는 Compositor입니다.

(다음에서 상속됨 CompositionObject)
Dispatcher

CompositionObject의 디스패처입니다.

(다음에서 상속됨 CompositionObject)
DispatcherQueue

CompostionObject에 대한 DispatcherQueue 를 가져옵니다.

(다음에서 상속됨 CompositionObject)
HorizontalAlignmentRatio

SpriteVisual의 세로 축과 관련하여 콘텐츠의 세로 축 위치를 제어합니다. 값은 왼쪽 세로 가장자리를 나타내는 0.0f와 SpriteVisual의 오른쪽 세로 가장자리를 나타내는 1.0f를 사용하여 0.0f에서 1.0f로 고정됩니다.

ImplicitAnimations

이 개체에 연결된 암시적 애니메이션의 컬렉션입니다.

(다음에서 상속됨 CompositionObject)
Offset

SpriteVisual을 기준으로 하는 브러시의 오프셋입니다.

Properties

CompositionObject와 연결된 속성의 컬렉션입니다.

(다음에서 상속됨 CompositionObject)
RotationAngle

브러시의 회전 각도(라디안)입니다.

RotationAngleInDegrees

브러시의 회전 각도(도)입니다.

Scale

브러시에 적용할 배율입니다.

SnapToPixels

표면 브러시가 픽셀과 일치하는지 여부를 나타내는 값을 가져오거나 설정합니다.

Stretch

그리는 SpriteVisual의 크기와 관련하여 ICompositionSurface 콘텐츠에 적용되는 크기 조정을 제어합니다.

Surface

CompositionSurfaceBrush와 연결된 ICompositionSurface입니다.

TransformMatrix

브러시에 적용할 변환 행렬입니다.

VerticalAlignmentRatio

SpriteVisual의 가로 축과 관련하여 콘텐츠의 가로 축 위치를 제어합니다. 값은 위쪽 가로 가장자리를 나타내는 0.0f와 SpriteVisual의 아래쪽 가로 가장자리를 나타내는 1.0f를 사용하여 0.0f에서 1.0f로 고정됩니다. 기본값은 0.5f입니다.

메서드

Close()

CompositionObject를 닫고 시스템 리소스를 해제합니다.

(다음에서 상속됨 CompositionObject)
ConnectAnimation(String, CompositionAnimation)

연결 및 애니메이션.

(다음에서 상속됨 CompositionObject)
DisconnectAnimation(String)

애니메이션의 연결을 끊습니다.

(다음에서 상속됨 CompositionObject)
Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

(다음에서 상속됨 CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

애니메이션 효과를 주는 속성을 정의합니다.

(다음에서 상속됨 CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

개체의 지정된 속성에 애니메이션을 연결하고 애니메이션을 시작합니다.

(다음에서 상속됨 CompositionObject)
StartAnimation(String, CompositionAnimation)

개체의 지정된 속성에 애니메이션을 연결하고 애니메이션을 시작합니다.

(다음에서 상속됨 CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

애니메이션 그룹을 시작합니다.

CompositionObject의 StartAnimationGroup 메서드를 사용하면 CompositionAnimationGroup을 시작할 수 있습니다. 그룹의 모든 애니메이션은 개체에서 동시에 시작됩니다.

(다음에서 상속됨 CompositionObject)
StopAnimation(String)

지정된 속성에서 애니메이션의 연결을 끊고 애니메이션을 중지합니다.

(다음에서 상속됨 CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

애니메이션 그룹을 중지합니다.

(다음에서 상속됨 CompositionObject)
TryGetAnimationController(String)

지정된 속성에서 실행되는 애니메이션에 대한 AnimationController를 반환합니다.

(다음에서 상속됨 CompositionObject)

적용 대상

추가 정보