CompositionEffectBrush 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
필터 효과의 출력으로 SpriteVisual을 그립니다. 필터 효과 설명은 클래스를 사용하여 정의됩니다 CompositionEffectFactory .
public ref class CompositionEffectBrush 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 CompositionEffectBrush 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 CompositionEffectBrush : CompositionBrush
Public NotInheritable Class CompositionEffectBrush
Inherits CompositionBrush
- 상속
- 특성
Windows 요구 사항
| 디바이스 패밀리 |
Windows 10 (10.0.10586.0에서 도입되었습니다.)
|
| API contract |
Windows.Foundation.UniversalApiContract (v2.0에서 도입되었습니다.)
|
예제
// Create an effect description
GaussianBlurEffect blurEffect = new GaussianBlurEffect()
{
Name = "Blur",
BlurAmount = 1.0f,
BorderMode = EffectBorderMode.Hard,
Optimization = EffectOptimization.Balanced
};
blurEffect.Source = new CompositionEffectSourceParameter("source");
CompositionEffectFactory blurEffectFactory = _compositor.CreateEffectFactory(blurEffect);
CompositionEffectBrush blurBrush = blurEffectFactory.CreateBrush();
// Create a BackdropBrush and bind it to the EffectSourceParameter “source”
CompositionBackdropBrush backdropBrush = _compositor.CreateBackdropBrush();
blurBrush.SetSourceParameter("source", backdropBrush);
// The SpriteVisual to apply the blur BackdropBrush to
// This will cause everything behind this SpriteVisual to be blurred
SpriteVisual blurSprite = _compositor.CreateSpriteVisual();
blurSprite.Brush = blurBrush;
// Set blurSprite as a child visual of a XAML element
ElementCompositionPreview.SetElementChildVisual(blurArea, blurSprite);
설명
효과 API를 통해 개발자가 UI를 렌더링하는 방식을 사용자 지정할 수 있습니다. 이는 이미지의 채도 수준을 조정하는 것만큼 간단하거나 다양한 효과를 함께 연결하고 효과 속성에 애니메이션 효과를 적용하여 흥미로운 애플리케이션 전환 및 사용자 환경을 만드는 것과 같이 더 복잡한 것일 수 있습니다. 컴퍼지션 효과는 컴퍼지션 표면에 따라 그래픽 콘텐츠를 생성하는 방법을 정의하는 연산 그래프입니다. 예를 들어 이미지의 픽셀 콘텐츠입니다. 효과는 트리의 시각적 개체에 적용되며 기존 표면을 참조할 수 있습니다.
CompositionEffectBrush의 인스턴스는 CompositionEffectFactory 지정된 효과 설명을 기반으로 생성됩니다. CompositionEffectFactory에서는 Microsoft.Graphics.Canvas.Effects 네임스페이스에서 Win2D 효과 설명 형식을 사용합니다.
참고
지원되지 않는 효과는 효과 네임스페이스에 대한 Win2D API 참조에서 [NoComposition] 으로 표시됩니다.
CompositionEffectBrush는 컴퍼지션 트리의 A SpriteVisual 에 적용됩니다.
CompositionEffectBrush에 대한 소스는 기존 표면 또는 질감이거나 효과 체인을 사용하도록 설정하는 다른 효과일 수 있습니다.
CompositionEffectBrush.Properties(CompositionObject.Properties에서 상속됨)를 사용하면 Compositor 호출에 지정된 애니메이션 효과를 주는 속성을 설정하거나 애니메이션할 수 있습니다.CreateEffectFactory 전체 'EffectName.PropertyName' 이름을 사용합니다.
효과 원본은 다른 CompositionEffectBrush 인스턴스와 독립적으로 설정할 수 있으며 속성은 다른 CompositionEffectBrush 인스턴스와 독립적으로 애니메이션 효과를 낼 수 있습니다.
효과 그래프가 선언되면 시스템은 기본 제공 셰이더를 사용하여 효과를 컴파일합니다. 사용자 지정 셰이더를 지정할 수 없습니다.
CompositionEffect 만들기
효과를 만들고 적용하려면 다음 단계를 수행해야 합니다.
- 효과 설명을 만듭니다. 유효한 효과 유형은 Win2D 네임스페이 스인 Microsoft.Graphics.Canvas.Effects를 참조하세요.
- 인스턴스 또는 다른 효과로 효과 원본을 CompositionEffectSourceParameter 설정합니다. 다른 효과를 지정하면 효과 체인이 만들어집니다.
- Compositor를 사용하여 CompositionEffectFactory를 만듭니다.CreateEffectFactory 효과 설명을 입력으로 사용합니다.
- CompositorEffectFactory를 사용하여 효과의 인스턴스를 만듭니다CreateBrush.
- CompositionEffectBrush를 사용하여 CompositionEffectSourceParameter를 설정합니다.SetSourceParameter 을 사용하여 CompositionEffectSourceParameter이전에 지정한 소스 매개 변수의 이름 및
- Compositor를 SpriteVisual 사용하는 인스턴스를 만듭니다CreateSpriteVisual.
- 만든 Brush 효과에 대한 SpriteVisual 속성을 설정합니다.
- 의 SpriteVisual 속성을 사용하여 컴퍼지션 트리에 Children 추가합니다 ContainerVisual.
속성
메서드
적용 대상
추가 정보
피드백
다음에 대한 사용자 의견 제출 및 보기