ID2D1PathGeometry::Open, méthode (d2d1.h)
Récupère le récepteur geometry utilisé pour remplir la géométrie de chemin avec des figures et des segments.
Syntaxe
HRESULT Open(
[out] ID2D1GeometrySink **geometrySink
);
Paramètres
[out] geometrySink
Type : ID2D1GeometrySink**
Lorsque cette méthode retourne, geometrySink contient l’adresse d’un pointeur vers le récepteur geometry utilisé pour remplir la géométrie de chemin avec des figures et des segments. Ce paramètre est passé sans être initialisé.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, il retourne un code d’erreur HRESULT .
Remarques
Étant donné que les géométries de chemin d’accès sont immuables et ne peuvent être remplies qu’une seule fois, il s’agit d’une erreur d’appeler Open sur une géométrie de chemin d’accès plusieurs fois.
Notez que le mode de remplissage est D2D1_FILL_MODE_ALTERNATE par défaut. Pour définir le mode de remplissage, appelez SetFillMode avant le premier appel à BeginFigure. Si vous ne le faites pas, le récepteur geometry est placé dans un état d’erreur.
Exemples
L’exemple suivant crée un ID2D1PathGeometry, récupère un récepteur et utilise le récepteur pour définir une forme de sablier. Pour obtenir l’exemple complet, consultez Comment dessiner et remplir une forme complexe.
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);
}
}
Configuration requise
Client minimal pris en charge | Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 R2, Windows Server 2008 avec SP2 et Mise à jour de plateforme pour Windows Server 2008 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | d2d1.h |
Bibliothèque | D2d1.lib |
DLL | D2d1.dll |