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


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

Представляет составную геометрию, состоящую из других объектов ID2D1Geometry .

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

Интерфейс ID2D1GeometryGroup наследуется от ID2D1Geometry. ID2D1GeometryGroup также содержит следующие типы членов:

Методы

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

 
ID2D1GeometryGroup::GetFillMode

Указывает, как объединяются пересекающиеся области геометрических объектов, содержащихся в этой геометрической группе.
ID2D1GeometryGroup::GetSourceGeometries

Извлекает геометрические объекты в группе geometry.
ID2D1GeometryGroup::GetSourceGeometryCount

Указывает количество объектов geometry в группе geometry.

Комментарии

Геометрические группы — это удобный способ одновременного объединения нескольких геометрических объектов, поэтому все фигуры нескольких различных геометрических объектов объединяются в одну.

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

Чтобы создать объект ID2D1GeometryGroup , вызовите метод ID2D1Factory::CreateGeometryGroup , передав в fillMode возможные значения D2D1_FILL_MODE_ALTERNATE (альтернативные) и D2D1_FILL_MODE_WINDING, массив геометрических объектов для добавления в группу geometry и количество элементов в этом массиве.

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

Примеры

В следующем примере кода сначала объявляется массив объектов geometry. Это четыре концентрических круга со следующими радиусами: 25, 50, 75 и 100. Затем вызовите CreateGeometryGroup для объекта ID2D1Factory , передав D2D1_FILL_MODE_ALTERNATE, массив геометрических объектов для добавления в группу geometry и количество элементов в этом массиве.

ID2D1Geometry *ppGeometries[] =
{
    m_pEllipseGeometry1,
    m_pEllipseGeometry2,
    m_pEllipseGeometry3,
    m_pEllipseGeometry4
};

hr = m_pD2DFactory->CreateGeometryGroup(
    D2D1_FILL_MODE_ALTERNATE,
    ppGeometries,
    ARRAYSIZE(ppGeometries),
    &m_pGeoGroup_AlternateFill
    );

if (SUCCEEDED(hr))
{
    hr = m_pD2DFactory->CreateGeometryGroup(
        D2D1_FILL_MODE_WINDING,
        ppGeometries,
        ARRAYSIZE(ppGeometries),
        &m_pGeoGroup_WindingFill
        );
}

На следующем рисунке показаны результаты отрисовки двух геометрических объектов групп из примера.

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

Требования

Требование Значение
Минимальная версия клиента 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

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

ID2D1Geometry