CompositionColorBrush 類別

定義

使用純色繪製 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
繼承
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionColorBrush
屬性

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

用來建立這個CompositionObjectCompositor

(繼承來源 CompositionObject)
Dispatcher

CompositionObject的發送器。

(繼承來源 CompositionObject)
DispatcherQueue

取得 CompostionObject 的 DispatcherQueue

(繼承來源 CompositionObject)
ImplicitAnimations

附加至這個物件的隱含動畫集合。

(繼承來源 CompositionObject)
Properties

CompositionObject相關聯的屬性集合。

(繼承來源 CompositionObject)

方法

Close()

關閉 CompositionObject 並釋放系統資源。

(繼承來源 CompositionObject)
ConnectAnimation(String, CompositionAnimation)

連接和動畫。

(繼承來源 CompositionObject)
DisconnectAnimation(String)

中斷動畫的連接。

(繼承來源 CompositionObject)
Dispose()

執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。

(繼承來源 CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

定義可以產生動畫效果的屬性。

(繼承來源 CompositionObject)
StartAnimation(String, CompositionAnimation)

使用物件的指定屬性連接動畫,並啟動動畫。

(繼承來源 CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

使用物件的指定屬性連接動畫,並啟動動畫。

(繼承來源 CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

啟動動畫群組。

CompositionObject上的 StartAnimationGroup 方法可讓您啟動CompositionAnimationGroup。 群組中的所有動畫都會在 物件上同時啟動。

(繼承來源 CompositionObject)
StopAnimation(String)

中斷與指定屬性的動畫連線,並停止動畫。

(繼承來源 CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

停止動畫群組。

(繼承來源 CompositionObject)
TryGetAnimationController(String)

傳回在指定屬性上執行的動畫的 AnimationController。

(繼承來源 CompositionObject)

適用於

另請參閱