Поделиться через


структура 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 эллипса градиента.

Комментарии

Различные значения для center, gradientOriginOffset, radiusX и (или) radiusY создают разные градиенты. На следующем рисунке показано несколько радиальных градиентов, которые имеют разные смещения источника градиента, создавая внешний вид света, освещающего круги с разных углов.

Иллюстрация четырех кругов с радиальными градиентами с разными смещениями источников

Для удобства Direct2D предоставляет функцию D2D1::RadialGradientBrushProperties для создания новых структур D2D1_RADIAL_GRADIENT_BRUSH .

Примеры

В следующем примере метод CreateRadialGradientBrush вызывается для создания ID2D1RadialGradientBrush. Она использует вспомогающую функцию D2D1::RadialGradientBrushProperties для создания структуры D2D1_RADIAL_GRADIENT_BRUSH , которая имеет центральное значение (75, 5), градиентOriginOffset (0, 0) и radiusX и radiusY , равный 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 7, Windows Vista с пакетом обновления 2 (SP2) и обновлением платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP]
Верхняя часть d2d1.h

См. также раздел

Обзор кистей

D2D1::RadialGradientBrushProperties

Создание радиальной градиентной кисти

ID2D1RadialGradientBrush