Share via


D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES 結構 (d2d1.h)

包含 ID2D1RadialGradientBrush的漸層原點位移和漸層橢圓形的大小和位置。

語法

typedef struct D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES {
  D2D1_POINT_2F center;
  D2D1_POINT_2F gradientOriginOffset;
  FLOAT         radiusX;
  FLOAT         radiusY;
} D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES;

成員

center

類型: D2D1_POINT_2F

在筆刷的座標空間中,漸層橢圓形的中心。

gradientOriginOffset

類型: D2D1_POINT_2F

在筆刷的座標空間中,漸層原點相對於漸層橢圓中心的位移。

radiusX

類型: FLOAT

在筆刷的座標空間中,漸層橢圓形的 X 半徑。

radiusY

類型: FLOAT

在筆刷的座標空間中,漸層橢圓形的 Y 半徑。

備註

中心gradientOriginOffsetradiusX 和/或 radiusY 的不同值會產生不同的漸層。 下圖顯示數個具有不同漸層原點位移的星形漸層,建立從不同角度照亮圓形的光線外觀。

具有不同原點位移的四個圓圈圖例

為了方便起見,Direct2D 提供 D2D1::RadialGradientBrushProperties 函式來建立新的 D2D1_RADIAL_GRADIENT_BRUSH 結構。

範例

下列範例會呼叫 CreateRadialGradientBrush 來建立 ID2D1RadialGradientBrush。 它會使用 D2D1::RadialGradientBrushProperties 協助程式函式來建立 D2D1_RADIAL_GRADIENT_BRUSH 結構,其 中心 值為 (75、5) 、 (0、0) 的 gradientOriginOffset ,以及 radiusXradiusY 為 75,並將結構傳遞至 CreateRadialGradientBrush 方法。 當漸層筆刷用來填滿矩形時,會產生輸出,如下圖所示。

具有星形漸層筆刷的圓形圖例
// The center of the gradient is in the center of the box.
// The gradient origin offset was set to zero(0, 0) or center in this case.
if (SUCCEEDED(hr))
{
    hr = m_pRenderTarget->CreateRadialGradientBrush(
        D2D1::RadialGradientBrushProperties(
            D2D1::Point2F(75, 75),
            D2D1::Point2F(0, 0),
            75,
            75),
        pGradientStops,
        &m_pRadialGradientBrush
        );
}

如需星形漸層筆刷的詳細資訊,請參閱 如何建立星形漸層筆刷 主題和 筆刷概觀

規格需求

需求
最低支援的用戶端 適用於 Windows Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
標頭 d2d1.h

另請參閱

筆刷概觀

D2D1::RadialGradientBrushProperties

如何建立星形漸層筆刷

ID2D1RadialGradientBrush