Partager via


Interface ID2D1PathGeometry (d2d1.h)

Représente une forme complexe qui peut être composée d’arcs, de courbes et de lignes.

Héritage

L’interface ID2D1PathGeometry hérite de ID2D1Geometry. ID2D1PathGeometry a également les types de membres suivants :

Méthodes

L’interface ID2D1PathGeometry a ces méthodes.

 
ID2D1PathGeometry ::GetFigureCount

Récupère le nombre de figures dans la géométrie du chemin d’accès.
ID2D1PathGeometry ::GetSegmentCount

Récupère le nombre de segments dans la géométrie du chemin d’accès.
ID2D1PathGeometry ::Open

Récupère le récepteur geometry utilisé pour remplir la géométrie de chemin avec des figures et des segments.
ID2D1PathGeometry ::Stream

Copie le contenu de la géométrie du chemin d’accès à l’ID2D1GeometrySink spécifié.

Remarques

Un objet ID2D1PathGeometry vous permet de décrire un chemin géométrique. Pour décrire le chemin d’accès d’un objet ID2D1PathGeometry , utilisez la méthode Open de l’objet pour récupérer un ID2D1GeometrySink. Utilisez le récepteur pour remplir la géométrie de chemin avec des figures et des segments.

Création d’objets ID2D1PathGeometry

Pour créer une géométrie de chemin d’accès, utilisez la méthode ID2D1Factory ::CreatePathGeometry .

Les objets ID2D1PathGeometry sont des ressources indépendantes de l’appareil créées par ID2D1Factory. En général, vous devez créer des géométries une seule fois et les conserver pendant toute la durée de l’application, ou jusqu’à ce qu’elles doivent être modifiées. Pour plus d’informations sur les ressources indépendantes de l’appareil et dépendantes de l’appareil, consultez Vue d’ensemble des ressources.

Exemples

L’exemple suivant crée un ID2D1PathGeometry, récupère un récepteur et l’utilise 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

Condition requise Valeur
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

Voir aussi

Rubriques "Comment" relatives aux objets Geometry

Vue d’ensemble des géométries

ID2D1Factory ::CreatePathGeometry

ID2D1Geometry

Vue d’ensemble des géométries de chemin