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