Curvas abertas e fechadas
A ilustração a seguir mostra duas curvas: uma aberta e outra fechada.
Curvas fechadas têm um interior e, portanto, podem ser preenchidas com um pincel. A classe Graphics no Windows GDI+ fornece os seguintes métodos para preencher figuras e curvas fechadas: FillRectangle, FillEllipse, FillPie, FillPolygon, FillClosedCurve, Graphics::FillPath e Graphics::FillRegion. Sempre que você chamar um desses métodos, deverá passar o endereço de um dos tipos de pincel específicos (SolidBrush, HatchBrush, TextureBrush, LinearGradientBrush ou PathGradientBrush) como um argumento.
O método FillPie é um complemento para o método DrawArc . Assim como o método DrawArc desenha uma parte do contorno de uma elipse, o método FillPie preenche uma parte do interior de uma elipse. O exemplo a seguir desenha um arco e preenche a parte correspondente do interior da elipse.
myGraphics.FillPie(&mySolidBrush, 0, 0, 140, 70, 0, 120);
myGraphics.DrawArc(&myPen, 0, 0, 140, 70, 0, 120);
A ilustração a seguir mostra o arco e a pizza preenchida.
O método FillClosedCurve é um complemento para o método DrawClosedCurve . Ambos os métodos fecham automaticamente a curva conectando o ponto final ao ponto inicial. O exemplo a seguir desenha uma curva que passa por (0, 0), (60, 20) e (40, 50). Em seguida, a curva é fechada automaticamente conectando (40, 50) ao ponto inicial (0, 0), e o interior é preenchido com uma cor sólida.
Point myPointArray[] =
{Point(10, 10), Point(60, 20),Point(40, 50)};
myGraphics.DrawClosedCurve(&myPen, myPointArray, 3);
myGraphics.FillClosedCurve(&mySolidBrush, myPointArray, 3, FillModeAlternate)
Um caminho pode consistir em várias figuras (subcaminhos). O método Graphics::FillPath preenche o interior de cada figura. Se uma figura não for fechada, o método Graphics::FillPath preencherá a área que seria fechada se a figura fosse fechada. O exemplo a seguir desenha e preenche um caminho que consiste em um arco, um spline cardinal, uma cadeia de caracteres e uma pizza.
myGraphics.FillPath(&mySolidBrush, &myGraphicsPath);
myGraphics.DrawPath(&myPen, &myGraphicsPath);
A ilustração a seguir mostra o caminho antes e depois de ser preenchido com um pincel sólido. Observe que o texto na cadeia de caracteres é descrito, mas não preenchido, pelo método Graphics::D rawPath . É o método Graphics::FillPath que pinta os interiores dos caracteres na cadeia de caracteres.