ID2D1GeometryGroup-Schnittstelle (d2d1.h)
Stellt eine zusammengesetzte Geometrie dar, die aus anderen ID2D1Geometry-Objekten besteht.
Vererbung
Die ID2D1GeometryGroup-Schnittstelle erbt von ID2D1Geometry. ID2D1GeometryGroup verfügt auch über folgende Membertypen:
Methoden
Die ID2D1GeometryGroup-Schnittstelle verfügt über diese Methoden.
ID2D1GeometryGroup::GetFillMode Gibt an, wie die sich überschneidende Bereiche der in dieser Geometriegruppe enthaltenen Geometrien kombiniert werden. |
ID2D1GeometryGroup::GetSourceGeometries Ruft die Geometrien in der Gruppe geometry ab. |
ID2D1GeometryGroup::GetSourceGeometryCount Gibt die Anzahl von Geometrieobjekten in der Geometriegruppe an. |
Hinweise
Geometriegruppen sind eine praktische Möglichkeit, mehrere Geometrien gleichzeitig zu gruppieren, sodass alle Figuren mehrerer unterschiedlicher Geometrien zu einer verkettet werden.
Erstellen von ID2D1GeometryGroup-Objekten
Um ein ID2D1GeometryGroup-Objekt zu erstellen, rufen Sie die ID2D1Factory::CreateGeometryGroup-Methode auf, und übergeben Sie den fillMode mit möglichen Werten von D2D1_FILL_MODE_ALTERNATE (alternativ) und D2D1_FILL_MODE_WINDING, einem Array von Geometrieobjekten, die der Geometriegruppe hinzugefügt werden sollen, und der Anzahl der Elemente in diesem Array.Direct2D-Geometrien sind unveränderliche und geräteunabhängige Ressourcen, die von ID2D1Factory erstellt werden. Im Allgemeinen sollten Sie Geometrien einmal erstellen und sie für die Lebensdauer der Anwendung oder bis zu ihrer Änderung beibehalten. Weitere Informationen zu geräteunabhängigen und geräteabhängigen Ressourcen finden Sie in der Ressourcenübersicht.
Beispiele
Im folgenden Codebeispiel wird zunächst ein Array von Geometrieobjekten deklariert. Diese Objekte sind vier konzentrische Kreise mit den folgenden Radien: 25, 50, 75 und 100. Rufen Sie dann createGeometryGroup für das ID2D1Factory-Objekt auf, und übergeben Sie D2D1_FILL_MODE_ALTERNATE, ein Array von Geometrieobjekten, die der Geometriegruppe hinzugefügt werden sollen, und die Anzahl der Elemente in diesem Array.
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
);
}
Die folgende Abbildung zeigt die Ergebnisse des Renderns der beiden Gruppengeometrien aus dem Beispiel.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | d2d1.h |