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) |
方法
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) |