ID2D1GeometrySink-Schnittstelle (d2d1.h)

Beschreibt einen geometrischen Pfad, der Linien, Bögen, kubische Bézierkurven und quadratische Bézierkurven enthalten kann.

Vererbung

Die ID2D1GeometrySink-Schnittstelle erbt von ID2D1SimplifiedGeometrySink. ID2D1GeometrySink verfügt auch über folgende Membertypen:

Methoden

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

 
ID2D1GeometrySink::AddArc

Fügt der Pfadgeometrie einen einzelnen Bogen hinzu.
ID2D1GeometrySink::AddArc

Erstellt einen einzelnen Bogen und fügt ihn der Pfadgeometrie hinzu.
ID2D1GeometrySink::AddBezier

Erstellt eine kubische Bézierkurve zwischen dem aktuellen Punkt und dem angegebenen Endpunkt.
ID2D1GeometrySink::AddBezier

Erstellt eine kubische Bézierkurve zwischen dem aktuellen Punkt und dem angegebenen Endpunkt.
ID2D1GeometrySink::AddLine

Erstellt ein Liniensegment zwischen dem aktuellen Punkt und dem angegebenen Endpunkt und fügt es der Geometriesenke hinzu.
ID2D1GeometrySink::AddQuadraticBezier

Erstellt eine kubische Bézierkurve zwischen dem aktuellen Punkt und dem angegebenen Endpunkt.
ID2D1GeometrySink::AddQuadraticBezier

Erstellt eine quadratische Bézierkurve zwischen dem aktuellen Punkt und dem angegebenen Endpunkt und fügt sie der Geometriesenke hinzu.
ID2D1GeometrySink::AddQuadraticBeziers

Fügt eine Sequenz von quadratischen Béziersegmenten als Array in einem einzelnen Aufruf hinzu.

Hinweise

Die ID2D1GeometrySink-Schnittstelle erweitert die ID2D1SimplifiedGeometrySink-Schnittstelle , um Unterstützung für Bögen und quadratische Beziere sowie Funktionen zum Hinzufügen einzelner Linien und kubischer Bezierer hinzuzufügen.

Eine Geometriesenke besteht aus einer oder mehreren Abbildungen. Jede Abbildung besteht aus einem oder mehreren Linien-, Kurven- oder Bogensegmenten. Rufen Sie zum Erstellen einer Abbildung die BeginFigure-Methode auf, geben Sie den Startpunkt der Abbildung an, und verwenden Sie dann die Add-Methoden (z. B. AddLine und AddBezier), um Segmente hinzuzufügen. Wenn Sie das Hinzufügen von Segmenten abgeschlossen haben, rufen Sie die EndFigure-Methode auf. Sie können diese Sequenz wiederholen, um zusätzliche Abbildungen zu erstellen. Wenn Sie mit dem Erstellen von Abbildungen fertig sind, rufen Sie die Close-Methode auf.

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

   
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

Übersicht über Geometrien

Zeichnen und Ausfüllen einer komplexen Form

ID2D1SimplifiedGeometrySink