Método ID2D1PathGeometry::Open (d2d1.h)
Recupera o coletor de geometria usado para popular a geometria do caminho com figuras e segmentos.
Sintaxe
HRESULT Open(
[out] ID2D1GeometrySink **geometrySink
);
Parâmetros
[out] geometrySink
Tipo: ID2D1GeometrySink**
Quando esse método retorna, geometrySink contém o endereço de um ponteiro para o coletor de geometria que é usado para preencher a geometria do caminho com figuras e segmentos. Este parâmetro é passado não inicializado.
Valor retornado
Tipo: HRESULT
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT .
Comentários
Como as geometrias de caminho são imutáveis e só podem ser preenchidas uma vez, é um erro chamar Abrir em uma geometria de caminho mais de uma vez.
Observe que o modo de preenchimento usa como padrão D2D1_FILL_MODE_ALTERNATE. Para definir o modo de preenchimento, chame SetFillMode antes da primeira chamada para BeginFigure. A falha ao fazer isso colocará o coletor de geometria em um estado de erro.
Exemplos
O exemplo a seguir cria um ID2D1PathGeometry, recupera um coletor e usa o coletor 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
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 |
Biblioteca | D2d1.lib |
DLL | D2d1.dll |