CompositionColorBrush 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
단색으로 SpriteVisual 을 그립니다.
public ref class CompositionColorBrush 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 CompositionColorBrush 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 CompositionColorBrush : CompositionBrush
Public NotInheritable Class CompositionColorBrush
Inherits CompositionBrush
- 상속
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10 (10.0.10586.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v2.0에서 도입되었습니다.)
|
예제
SpriteVisual visual= compositor.CreateSpriteVisual();
visual.Brush = compositor.CreateColorBrush (Colors.White);
using Windows.UI.Composition;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Hosting;
using System.Numerics;
…
public sealed partial class MainPage : Page
{
Compositor _compositor;
ContainerVisual _root;
SpriteVisual _visual;
public MainPage()
{
this.InitializeComponent();
this.Loaded += MainPage_Loaded;
}
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
// Get compositor and create a solid color visual
_root = ElementCompositionPreview.GetContainerVisual(MainGrid) as ContainerVisual;
_compositor = _root.Compositor;
// Create a solid color visual
_visual = _compositor.CreateSpriteVisual();
_visual.Brush = _compositor.CreateColorBrush( Windows.UI.Colors.Blue );
_visual.Size = new Vector2(250, 250);
// Set hard border mode to disable anti-aliasing
_visual.BorderMode = CompositionBorderMode.Hard;
// Set backface-visibility to hidden in event of 3D rotation
_visual.BackfaceVisibility = CompositionBackfaceVisibility.Hidden;
// Set composite mode to DestinationInvert to do color subtraction blending
_visual.CompositeMode = CompositionCompositeMode.DestinationInvert;
_root.Children.InsertAtTop(_visual);
// Create a child visual of the solid color visual
SpriteVisual childVisual = _compositor.CreateSpriteVisual();
childvisual.Brush = _compositor.CreateColorBrush( Windows.UI.Colors.Orange );
childVisual.Size = new Vector2(250, 20);
_visual.Children.InsertAtTop(childVisual);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
// Show or hide visual and subtree
if (_visual.IsVisible)
{
_visual.IsVisible = false;
}
else
{
_visual.IsVisible = true;
}
}
}
키 프레임 애니메이션을 사용하여 Color 속성에 애니메이션 효과를 줍니다.
void ColorAnimation(SpriteVisual targetVisual)
{
//
// Create a key frame animation for the targetBrush.Color property
//
var animation = _compositor.CreateColorKeyFrameAnimation();
animation.InsertKeyFrame(0.0f, Color.FromArgb(255, 0, 255, 0));
animation.InsertKeyFrame(1.0f, Colors.Purple);
targetVisual.Brush.StartAnimation("Color", animation);
}
ExpressionAnimation을 사용하여 Color 속성에 애니메이션 효과를 적용합니다.
void ColorExpression(SpriteVisual targetVisual, float screenWidth )
{
var expression = _compositor.CreateExpressionAnimation("ColorLerp(ColorFrom, ColorTo, target.Offset.X / Width");
expression.SetReferenceParameter("target", targetVisual);
expression.SetColorParameter("ColorFrom", Colors.Green);
expression.SetColorParameter("ColorTo", Colors.Purple);
expression.SetFloatParameter("Width", screenWidth);
targetVisual.Brush.StartAnimation("Color", expression);
}
속성
Color |
SpriteVisual을 채우는 데 사용되는 색입니다. 애니메이션 가능. |
Comment |
CompositionObject와 연결할 문자열입니다. (다음에서 상속됨 CompositionObject) |
Compositor |
이 CompositionObject를 만드는 데 사용되는 Compositor입니다. (다음에서 상속됨 CompositionObject) |
Dispatcher |
CompositionObject의 디스패처입니다. (다음에서 상속됨 CompositionObject) |
DispatcherQueue |
CompostionObject에 대한 DispatcherQueue 를 가져옵니다. (다음에서 상속됨 CompositionObject) |
ImplicitAnimations |
이 개체에 연결된 암시적 애니메이션의 컬렉션입니다. (다음에서 상속됨 CompositionObject) |
Properties |
CompositionObject와 연결된 속성의 컬렉션입니다. (다음에서 상속됨 CompositionObject) |