Freigeben über


ID2D1PathGeometry-Schnittstelle (d2d1.h)

Stellt eine komplexe Form dar, die aus Bogen, Kurven und Linien bestehen kann.

Erbschaft

Die ID2D1PathGeometry-schnittstelle erbt von ID2D1Geometry-. ID2D1PathGeometry- verfügt auch über die folgenden Membertypen:

Methodik

Die ID2D1PathGeometry--Schnittstelle weist diese Methoden auf.

 
ID2D1PathGeometry::GetFigureCount

Ruft die Anzahl der Abbildungen in der Pfadgeometrie ab.
ID2D1PathGeometry::GetSegmentCount

Ruft die Anzahl der Segmente in der Pfadgeometrie ab.
ID2D1PathGeometry::Open

Ruft die Geometriesenke ab, die zum Auffüllen der Pfadgeometrie mit Abbildungen und Segmenten verwendet wird.
ID2D1PathGeometry::Stream

Kopiert den Inhalt der Pfadgeometrie in den angegebenen ID2D1GeometrySink.

Bemerkungen

Mit einem ID2D1PathGeometry--Objekt können Sie einen geometrischen Pfad beschreiben. Um einen ID2D1PathGeometry Objektpfad zu beschreiben, verwenden Sie die Open-Methode des Objekts, um eine ID2D1GeometrySink-abzurufen. Verwenden Sie die Spüle, um die Pfadgeometrie mit Abbildungen und Segmenten aufzufüllen.

Erstellen von ID2D1PathGeometry-Objekten

Verwenden Sie zum Erstellen einer Pfadgeometrie die ID2D1Factory::CreatePathGeometry--Methode.

ID2D1PathGeometry Objekte sind geräteunabhängige Ressourcen, die von ID2D1Factoryerstellt werden. Im Allgemeinen sollten Sie einmal Geometrien erstellen und für die Lebensdauer der Anwendung aufbewahren oder bis sie geändert werden müssen. Weitere Informationen zu geräteunabhängigen und geräteabhängigen Ressourcen finden Sie im Ressourcenübersicht.

Beispiele

Im folgenden Beispiel wird eine ID2D1PathGeometry-erstellt, eine Spüle abgerufen und zum Definieren einer Sanduhrform verwendet. Das vollständige Beispiel finden Sie unter How to Draw and Fill a Complex Shape.

ID2D1GeometrySink *pSink = NULL;


// Create a path geometry.
if (SUCCEEDED(hr))
{
    hr = m_pD2DFactory->CreatePathGeometry(&m_pPathGeometry);

    if (SUCCEEDED(hr))
    {
        // Write to the path geometry using the geometry sink.
        hr = m_pPathGeometry->Open(&pSink);

        if (SUCCEEDED(hr))
        {
            pSink->BeginFigure(
                D2D1::Point2F(0, 0),
                D2D1_FIGURE_BEGIN_FILLED
                );

            pSink->AddLine(D2D1::Point2F(200, 0));

            pSink->AddBezier(
                D2D1::BezierSegment(
                    D2D1::Point2F(150, 50),
                    D2D1::Point2F(150, 150),
                    D2D1::Point2F(200, 200))
                );

            pSink->AddLine(D2D1::Point2F(0, 200));

            pSink->AddBezier(
                D2D1::BezierSegment(
                    D2D1::Point2F(50, 150),
                    D2D1::Point2F(50, 50),
                    D2D1::Point2F(0, 0))
                );

            pSink->EndFigure(D2D1_FIGURE_END_CLOSED);

            hr = pSink->Close();
        }
        SafeRelease(&pSink);
    }
}

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform- Fenster
Header- d2d1.h

Siehe auch

Geometrien How-to-Topics

übersicht über Geometrien

ID2D1Factory::CreatePathGeometry

ID2D1Geometry-

Path Geometries Overview