Compartir a través de


Interfaz ID2D1PathGeometry (d2d1.h)

Representa una forma compleja que se puede componer de arcos, curvas y líneas.

Herencia

La interfaz ID2D1PathGeometry hereda de ID2D1Geometry. ID2D1PathGeometry también tiene estos tipos de miembros:

Métodos

La interfaz ID2D1PathGeometry tiene estos métodos.

 
ID2D1PathGeometry::GetFigureCount

Recupera el número de figuras de la geometría de la ruta de acceso.
ID2D1PathGeometry::GetSegmentCount

Recupera el número de segmentos de la geometría de la ruta de acceso.
ID2D1PathGeometry::Open

Recupera el receptor de geometría que se usa para rellenar la geometría de trazado con figuras y segmentos.
ID2D1PathGeometry::Stream

Copia el contenido de la geometría de trazado en el objeto id2D1GeometrySink especificado.

Comentarios

Un objeto ID2D1PathGeometry permite describir un trazado geométrico. Para describir la ruta de acceso de un objeto ID2D1PathGeometry , use el método Open del objeto para recuperar un ID2D1GeometrySink. Utilice el receptor para rellenar la geometría de trazado con figuras y segmentos.

Creación de objetos ID2D1PathGeometry

Para crear una geometría de ruta de acceso, use el método ID2D1Factory::CreatePathGeometry .

Los objetos ID2D1PathGeometry son recursos independientes del dispositivo creados por ID2D1Factory. En general, debe crear geometrías una vez y conservarlas durante la vida útil de la aplicación, o hasta que deban modificarse. Para obtener más información sobre los recursos independientes del dispositivo y dependientes del dispositivo, consulte La introducción a los recursos.

Ejemplos

En el ejemplo siguiente se crea un ID2D1PathGeometry, se recupera un receptor y se usa para definir una forma de reloj de arena. Para obtener el ejemplo completo, vea Cómo dibujar y rellenar una forma compleja.

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);
    }
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado d2d1.h

Consulte también

Temas "Cómo..." de objetos de geometría

Información general sobre las geometrías

ID2D1Factory::CreatePathGeometry

ID2D1Geometry

Información general sobre geometrías de ruta de acceso