ID2D1PathGeometry-Schnittstelle (d2d1.h)

Stellt eine komplexe Form dar, die aus Bögen, Kurven und Linien bestehen kann.

Vererbung

Die ID2D1PathGeometry-Schnittstelle erbt von ID2D1Geometry. ID2D1PathGeometry verfügt auch über folgende Membertypen:

Methoden

Die ID2D1PathGeometry-Schnittstelle verfügt über diese Methoden.

 
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.

Hinweise

Mit einem ID2D1PathGeometry-Objekt können Sie einen geometrischen Pfad beschreiben. Um den Pfad eines ID2D1PathGeometry-Objekts zu beschreiben, verwenden Sie die Open-Methode des Objekts, um einen ID2D1GeometrySink abzurufen. Verwenden Sie die Senke, 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 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 Beispiel wird eine ID2D1PathGeometry erstellt, eine Senke abgerufen und zum Definieren einer Sanduhrform verwendet. Das vollständige Beispiel finden Sie unter Zeichnen und Ausfüllen einer komplexen Form.

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
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

Gewusst-wie-Themen zu Geometrien

Übersicht über Geometrien

ID2D1Factory::CreatePathGeometry

ID2D1Geometry

Übersicht über Pfadgeometrien