ID2D1RadialGradientBrush 接口 (d2d1.h)
使用径向渐变绘制区域。
继承
ID2D1RadialGradientBrush 接口继承自 ID2D1Brush。 ID2D1RadialGradientBrush 也具有以下类型的成员:
方法
ID2D1RadialGradientBrush 接口包含以下方法。
ID2D1RadialGradientBrush::GetCenter 检索渐变椭圆的中心。 |
ID2D1RadialGradientBrush::GetGradientOriginOffset 检索渐变原点相对于渐变椭圆中心的偏移量。 |
ID2D1RadialGradientBrush::GetGradientStopCollection 检索与此径向渐变画笔对象关联的 ID2D1GradientStopCollection。 |
ID2D1RadialGradientBrush::GetRadiusX 检索渐变椭圆的 x 半径。 |
ID2D1RadialGradientBrush::GetRadiusY 检索渐变椭圆的 y 半径。 |
ID2D1RadialGradientBrush::SetCenter 指定画笔坐标空间中渐变椭圆的中心。 |
ID2D1RadialGradientBrush::SetGradientOriginOffset 指定渐变原点相对于渐变椭圆中心的偏移量。 |
ID2D1RadialGradientBrush::SetRadiusX 在画笔的坐标空间中指定渐变椭圆的 x 半径。 |
ID2D1RadialGradientBrush::SetRadiusY 指定画笔坐标空间中渐变椭圆的 y 半径。 |
注解
ID2D1RadialGradientBrush 类似于 ID2D1LinearGradientBrush,因为它们都将渐变停止点集合映射到渐变。 但是,线性渐变具有定义渐变矢量的起点和终点,而径向渐变使用椭圆和梯度原点来定义其渐变行为。 若要定义椭圆的位置和大小,请使用 SetCenter、 SetRadiusX 和 SetRadiusY 方法指定椭圆的中心、x 半径和 y 半径。 渐变原点是椭圆的中心,除非使用 SetGradientOriginOffset 方法指定渐变偏移量。
画笔映射渐变原点的渐变停止点位置 0.0f,并将位置 1.0f 映射到椭圆边界。 当渐变原点在椭圆内时,椭圆的内容将包围画笔渐变的整个 [0, 1] 范围。 如果渐变原点在椭圆边界之外,画笔仍然有效,但其渐变定义不明确。
起点和终点在画笔空间中描述,并在使用画笔时映射到呈现目标。 请注意,起始坐标和结束坐标是绝对的,而不是相对于呈现目标大小。 值 (0, 0) 映射到呈现目标的左上角,而值 (1, 1) 仅映射一个像素,对角线距离 (0, 0) 。 如果存在非识别性画笔转换或呈现目标转换,则画笔椭圆和渐变原点也会转换。
可以指定不完全填充所绘制区域的椭圆。 发生这种情况时,画笔 ID2D1GradientStopCollection) 指定的D2D1_EXTEND_MODE和设置 (确定剩余区域的绘制方式。
创建 ID2D1RadialGradientBrush 对象
若要创建径向渐变画笔,请使用将使用画笔的呈现目标的 ID2D1RenderTarget::CreateRadialGradientBrush 方法。 画笔只能与创建它的呈现器目标一起使用,或与该呈现目标的兼容目标一起使用。径向渐变画笔是依赖于设备的资源:应用程序应在初始化将使用画笔的呈现目标后创建径向渐变画笔,并在呈现目标需要重新创建时重新创建画笔。 (有关资源的详细信息,请参阅 资源概述。)
示例
有关如何创建径向渐变画笔的示例,请参阅 如何创建径向渐变画笔 主题。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | d2d1.h |