次の方法で共有


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

この CompositionObject の作成に使用されるコンポジター

(継承元 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)

適用対象

こちらもご覧ください