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.

Abbildung von zwei Sätzen von vier konzentrischen Kreisen, einer mit dem zweiten und vierten Ring gefüllt und einer mit allen Ringen gefüllt

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

Weitere Informationen

ID2D1Geometrie