Compartilhar via


Interface ID2D1PathGeometry (d2d1.h)

Representa uma forma complexa que pode ser composta de arcos, curvas e linhas.

Herança

A interface ID2D1PathGeometry herda de ID2D1Geometry. ID2D1PathGeometry também tem estes tipos de membros:

Métodos

A interface ID2D1PathGeometry tem esses métodos.

 
ID2D1PathGeometry::GetFigureCount

Recupera o número de figuras na geometria do caminho.
ID2D1PathGeometry::GetSegmentCount

Recupera o número de segmentos na geometria do caminho.
ID2D1PathGeometry::Open

Recupera o coletor de geometria usado para popular a geometria do caminho com figuras e segmentos.
ID2D1PathGeometry::Stream

Copia o conteúdo da geometria do caminho para o ID2D1GeometrySink especificado.

Comentários

Um objeto ID2D1PathGeometry permite que você descreva um caminho geométrico. Para descrever o caminho de um objeto ID2D1PathGeometry , use o método Open do objeto para recuperar um ID2D1GeometrySink. Use o coletor para preencher a geometria do caminho com figuras e segmentos.

Criando objetos ID2D1PathGeometry

Para criar uma geometria de caminho, use o método ID2D1Factory::CreatePathGeometry .

Os objetos ID2D1PathGeometry são recursos independentes do dispositivo criados por ID2D1Factory. Em geral, você deve criar geometrias uma vez e retê-las durante a vida útil do aplicativo ou até que elas precisem ser modificadas. Para obter mais informações sobre recursos independentes do dispositivo e dependentes do dispositivo, consulte Visão geral de recursos.

Exemplos

O exemplo a seguir cria um ID2D1PathGeometry, recupera um coletor e o usa para definir uma forma de ampulheta. Para obter o exemplo completo, consulte Como desenhar e preencher uma forma complexa.

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 Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Atualização de Plataforma para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho d2d1.h

Confira também

Tópicos explicativos de geometrias

Visão geral de geometrias

ID2D1Factory::CreatePathGeometry

ID2D1Geometry

Visão geral das geometrias do caminho