CompositionRadialGradientBrush 类

定义

表示使用径向渐变绘制区域的画笔。

public ref class CompositionRadialGradientBrush sealed : CompositionGradientBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 524288)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CompositionRadialGradientBrush final : CompositionGradientBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 524288)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CompositionRadialGradientBrush : CompositionGradientBrush
Public NotInheritable Class CompositionRadialGradientBrush
Inherits CompositionGradientBrush
继承
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionGradientBrush CompositionRadialGradientBrush
属性

Windows 要求

设备系列
Windows 10, version 1903 (在 10.0.18362.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v8.0 中引入)

示例

创建径向渐变画笔

此示例演示如何创建径向渐变画笔、添加 2 个颜色停止点,以及如何使用它绘制 SpriteVisual。

// Create radial gradient brush.
CompositionRadialGradientBrush RGBrush = compositor.CreateRadialGradientBrush();

// Create the color stops by defining the offset and color.
CompositionColorGradientStop ColorStop1 = compositor.CreateColorGradientStop();
ColorStop1.Offset = 0;
ColorStop1.Color = Colors.Blue;
CompositionColorGradientStop ColorStop2 = compositor.CreateColorGradientStop();
ColorStop2.Offset = 1;
ColorStop2.Color = Colors.Yellow;

// Add the color stops to brush's ColorStops collection.
RGBrush.ColorStops.Add(ColorStop1);
RGBrush.ColorStops.Add(ColorStop2);

// Create a sprite visual and paint it with the radial gradient brush.
var visual = compositor.CreateSpriteVisual();
visual.Size = new Vector2(120, 120);
visual.Brush = RGBrush;

还可以使用以下较短的语法压缩创建和添加颜色停止点的步骤:

RGBrush.ColorStops.Add(compositor.CreateColorGradientStop(0, Colors.Blue));
RGBrush.ColorStops.Add(compositor.CreateColorGradientStop(1, Colors.Yellow));

对径向渐变画笔进行动画处理

此示例演示如何对径向渐变画笔的第一个渐变停止点的颜色进行动画处理。

private SpriteVisual GetRadialGradientVisualWithAnimation(Vector2 size,
                                                          Vector2 gradientOriginOffset,
                                                          Vector2 ellipseCenter,
                                                          Vector2 ellipseRadius)
{
    // Create radial gradient brush.
    var gradientBrush = compositor.CreateRadialGradientBrush();
    gradientBrush.GradientOriginOffset = gradientOriginOffset;
    gradientBrush.EllipseCenter = ellipseCenter;
    gradientBrush.EllipseRadius = ellipseRadius;

    // Add the color stops. The first color stop needs a name so you can refer to it later.
    CompositionColorGradientStop ColorStop1 = compositor.CreateColorGradientStop(0, Colors.Blue);
    gradientBrush.ColorStops.Add(ColorStop1);
    gradientBrush.ColorStops.Add(compositor.CreateColorGradientStop(1, Colors.Yellow));

    // Set up animation for ColorStop1's color.
    var colorAnimation = compositor.CreateColorKeyFrameAnimation();
    colorAnimation.InsertKeyFrame(0.0f, Colors.Blue);
    colorAnimation.InsertKeyFrame(0.5f, Colors.LightBlue);
    colorAnimation.InsertKeyFrame(0.75f, Colors.Navy);
    colorAnimation.InsertKeyFrame(1.0f, Colors.Blue);
    colorAnimation.Duration = TimeSpan.FromSeconds(20);
    colorAnimation.IterationBehavior = AnimationIterationBehavior.Forever;
    ColorStop1.StartAnimation("Color", colorAnimation);

    // SpriteVisual to be painted with gradated content.
    var gradientVisual = compositor.CreateSpriteVisual();
    gradientVisual.Size = size;
    // Set brush on the SpriteVisual.
    gradientVisual.Brush = gradientBrush;

    return gradientVisual;
}

注解

此画笔使用径向渐变绘制 SpriteVisual

渐变是在由 EllipseCenter 和 EllipseRadius 属性定义的椭圆内绘制的。 渐变的颜色开始于椭圆的中心之处,结束于半径之处。

径向渐变的颜色由颜色停止点定义。 每个颜色停止点指定一种颜色以及沿渐变的位置。

径向渐变颜色停止

属性

AnchorPoint

获取或设置画笔上要定位在画笔偏移量的点。

(继承自 CompositionGradientBrush)
CenterPoint

获取或设置旋转和缩放画笔的点。

(继承自 CompositionGradientBrush)
ColorStops

获取画笔的渐变停止点。

(继承自 CompositionGradientBrush)
Comment

要与 CompositionObject 关联的字符串。

(继承自 CompositionObject)
Compositor

用于创建此 CompositionObjectCompositor

(继承自 CompositionObject)
Dispatcher

CompositionObject 的调度程序。

(继承自 CompositionObject)
DispatcherQueue

获取 CompostionObject 的 DispatcherQueue

(继承自 CompositionObject)
EllipseCenter

获取或设置包含渐变的椭圆中心的二维坐标。

EllipseRadius

获取或设置包含渐变的椭圆的半径。

ExtendMode

获取或设置一个值,该值指定如何在画笔的渐变矢量或空间之外绘制渐变。

(继承自 CompositionGradientBrush)
GradientOriginOffset

获取或设置渐变原点的二维坐标。

ImplicitAnimations

附加到此 对象的隐式动画的集合。

(继承自 CompositionObject)
InterpolationSpace

获取或设置一个值,该值指定渐变颜色的内插方式。

(继承自 CompositionGradientBrush)
MappingMode

获取或设置一个值,该值指示渐变画笔的定位坐标 (StartPoint、EndPoint) 是绝对的还是相对于输出区域的。

(继承自 CompositionGradientBrush)
Offset

获取或设置画笔相对于要绘制的对象的偏移量。

(继承自 CompositionGradientBrush)
Properties

CompositionObject 关联的属性的集合。

(继承自 CompositionObject)
RotationAngle

获取或设置画笔的旋转角度(以弧度为单位)。

(继承自 CompositionGradientBrush)
RotationAngleInDegrees

获取或设置画笔的旋转角度(以度为单位)。

(继承自 CompositionGradientBrush)
Scale

获取或设置要应用于画笔的比例。

(继承自 CompositionGradientBrush)
TransformMatrix

获取或设置要应用于画笔的转换矩阵。

(继承自 CompositionGradientBrush)

方法

Close()

关闭 CompositionObject 并释放系统资源。

(继承自 CompositionObject)
ConnectAnimation(String, CompositionAnimation)

连接和动画。

(继承自 CompositionObject)
DisconnectAnimation(String)

断开动画的连接。

(继承自 CompositionObject)
Dispose()

执行与释放或重置非托管资源关联的应用程序定义的任务。

(继承自 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)

适用于

另请参阅