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


Интерфейс ID2D1GradientStopCollection (d2d1.h)

Представляет коллекцию объектов D2D1_GRADIENT_STOP для линейных и радиальных кистей градиента.

Наследование

Интерфейс ID2D1GradientStopCollection наследуется от ID2D1Resource. ID2D1GradientStopCollection также имеет следующие типы элементов:

Методы

Интерфейс ID2D1GradientStopCollection содержит следующие методы.

 
ID2D1GradientStopCollection::GetColorInterpolationGamma

Указывает гамма-пространство, в котором интерполируются остановки градиента.
ID2D1GradientStopCollection::GetExtendMode

Указывает поведение градиента за пределами нормализованного диапазона градиента.
ID2D1GradientStopCollection::GetGradientStopCount

Извлекает количество остановок градиента в коллекции.
ID2D1GradientStopCollection::GetGradientStops

Копирует остановки градиента из коллекции в массив D2D1_GRADIENT_STOP структур.

Комментарии

Создание объектов ID2D1GradientStopCollection

Чтобы создать ID2D1GradientStopCollection, используйте метод ID2D1RenderTarget::CreateGradientStopCollection .

Коллекция остановок градиента — это ресурс, зависящий от устройства. Приложение должно создавать коллекции остановки градиента после инициализации целевого объекта отрисовки, с помощью которого будет использоваться коллекция остановок градиента, и повторно создавать коллекцию останова градиента всякий раз, когда нужно повторно создать целевой объект отрисовки. (Дополнительные сведения о ресурсах см. в разделе Общие сведения о ресурсах.)

Примеры

В следующем примере создается массив остановок градиента, а затем используется для создания id2D1GradientStopCollection.

// Create an array of gradient stops to put in the gradient stop
// collection that will be used in the gradient brush.
ID2D1GradientStopCollection *pGradientStops = NULL;

D2D1_GRADIENT_STOP gradientStops[2];
gradientStops[0].color = D2D1::ColorF(D2D1::ColorF::Yellow, 1);
gradientStops[0].position = 0.0f;
gradientStops[1].color = D2D1::ColorF(D2D1::ColorF::ForestGreen, 1);
gradientStops[1].position = 1.0f;
// Create the ID2D1GradientStopCollection from a previously
// declared array of D2D1_GRADIENT_STOP structs.
hr = m_pRenderTarget->CreateGradientStopCollection(
    gradientStops,
    2,
    D2D1_GAMMA_2_2,
    D2D1_EXTEND_MODE_CLAMP,
    &pGradientStops
    );

В следующем примере кода используется ID2D1GradientStopCollection для создания ID2D1LinearGradientBrush.

// The line that determines the direction of the gradient starts at
// the upper-left corner of the square and ends at the lower-right corner.

if (SUCCEEDED(hr))
{
    hr = m_pRenderTarget->CreateLinearGradientBrush(
        D2D1::LinearGradientBrushProperties(
            D2D1::Point2F(0, 0),
            D2D1::Point2F(150, 150)),
        pGradientStops,
        &m_pLinearGradientBrush
        );
}

Требования

   
Минимальная версия клиента Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновление платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header d2d1.h

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

ID2D1Resource