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
übersicht über Geometrien