ID2D1GeometryGroup 接口 (d2d1.h)

表示由其他 ID2D1Geometry 对象组成的复合几何图形。

继承

ID2D1GeometryGroup 接口继承自 ID2D1GeometryID2D1GeometryGroup 还具有以下类型的成员:

方法

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。 然后,在 ID2D1Factory 对象上调用 CreateGeometryGroup,传入D2D1_FILL_MODE_ALTERNATE、要添加到 geometry 组的 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、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 d2d1.h

另请参阅

ID2D1Geometry