Интерфейс 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 |