ID2D1PathGeometry::Open-Methode (d2d1.h)
Ruft die Geometriesenke ab, die zum Auffüllen der Pfadgeometrie mit Abbildungen und Segmenten verwendet wird.
Syntax
HRESULT Open(
[out] ID2D1GeometrySink **geometrySink
);
Parameter
[out] geometrySink
Typ: ID2D1GeometrySink**
Wenn diese Methode zurückgibt, enthält geometrySink die Adresse eines Zeigers auf die Geometriesenke, die zum Auffüllen der Pfadgeometrie mit Abbildungen und Segmenten verwendet wird. Dieser Parameter wird nicht initialisiert übergeben.
Rückgabewert
Typ: HRESULT
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.
Hinweise
Da Pfadgeometrien unveränderlich sind und nur einmal aufgefüllt werden können, ist es ein Fehler, Open für eine Pfadgeometrie mehrmals aufzurufen.
Beachten Sie, dass der Füllmodus standardmäßig auf D2D1_FILL_MODE_ALTERNATE festgelegt ist. Um den Füllmodus festzulegen, rufen Sie SetFillMode vor dem ersten Aufruf von BeginFigure auf. Andernfalls wird die Geometriesenke in einen Fehlerzustand versetzt.
Beispiele
Im folgenden Beispiel wird eine ID2D1PathGeometry erstellt, eine Senke abgerufen und die Senke verwendet, um eine Sanduhrform zu definieren. 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 |
Bibliothek | D2d1.lib |
DLL | D2d1.dll |