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。 然后,在 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 |