Compartilhar via


Preenchendo figuras abertas

Você pode preencher um caminho passando o endereço de um objeto GraphicsPath para o método Graphics::FillPath . O método Graphics::FillPath preenche o caminho de acordo com o modo de preenchimento (alternativo ou sinuoso) atualmente definido para o caminho. Se o caminho tiver figuras abertas, ele será preenchido como se essas figuras que foram fechadas. O GDI+ fecha uma figura desenhando uma linha reta do ponto final até o ponto inicial.

O exemplo a seguir cria um caminho que tem uma figura aberta (um arco) e uma figura fechada (uma elipse). O método Graphics::FillPath preenche o caminho de acordo com o modo de preenchimento padrão, que é FillModeAlternate.

GraphicsPath path;

// Add an open figure.
path.AddArc(0, 0, 150, 120, 30, 120);

// Add an intrinsically closed figure.
path.AddEllipse(50, 50, 50, 100);

Pen pen(Color(128, 0, 0, 255), 5);
SolidBrush brush(Color(255, 255, 0, 0));

// The fill mode is FillModeAlternate by default.
graphics.FillPath(&brush, &path);
graphics.DrawPath(&pen, &path);

A ilustração a seguir mostra a saída do código anterior. Observe que o caminho é preenchido (de acordo com FillModeAlternate) como se a figura aberta fosse fechada por uma linha reta do ponto final até o ponto inicial.

ilustração mostrando uma elipse alta que sobrepõe a metade inferior de uma elipse larga; a união está preenchida, mas a interseção está vazia