Partilhar via


Pincéis e formas preenchidas no GDI +

Uma forma fechada, sistema autônomo um retângulo ou uma elipse, consiste em uma estrutura de tópicos e um interior.O estrutura de tópicos é desenhado com uma caneta e o interior é preenchido com um pincel.GDI+ fornece várias classes de pincel para preencher os interiores de formas fechadas: SolidBrush, HatchBrush, , TextureBrush, LinearGradientBrush, e PathGradientBrush.Todas essas classes herdam o Brush classe. A ilustração a seguir mostra um retângulo preenchido com um pincel sólido e uma elipse preenchida com um pincel de hachura.

Pincéis sólidas

Para preencher uma forma fechada, você precisa de uma instância do Graphics classe e um Brush. A instância do Graphics classe fornece métodos, sistema autônomo FillRectangle e FillEllipsee o Brush armazena atributos de preenchimento, sistema autônomo cor e padrão. The Brush é passado sistema autônomo um dos argumentos do método de preenchimento. O exemplo de código a seguir mostra como preencher uma elipse com uma cor vermelha sólida.

Dim mySolidBrush As New SolidBrush(Color.Red)
myGraphics.FillEllipse(mySolidBrush, 0, 0, 60, 40)

SolidBrush mySolidBrush = new SolidBrush(Color.Red);
myGraphics.FillEllipse(mySolidBrush, 0, 0, 60, 40);
Observação:

No exemplo anterior, o pincel é do tipo SolidBrush, que herda de Brush.

Pincéis de hachura

Ao preencher uma forma com um pincel de hachura, você especifica uma cor de primeiro plano, cor do plano de fundo e um estilo de hachura.A cor de primeiro plano é a cor de hachura.

Dim myHatchBrush As _
   New HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green)

HatchBrush myHatchBrush =
   new HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green);

GDI+ fornece mais de 50 Hachura estilos; os três estilos mostrados na ilustração a seguir estão Horizontal, ForwardDiagonal, e Cross.

Pincéis de textura

Com um pincel de textura, você pode preencher uma forma com um padrão armazenado em um bitmap.Por exemplo, suponha que a figura a seguir é armazenada em um arquivo de disco chamado MyTexture.bmp.

O exemplo de código a seguir mostra como preencher uma elipse, repetindo a imagem armazenada em MyTexture.bmp.

Dim myImage As Image = Image.FromFile("MyTexture.bmp")
Dim myTextureBrush As New TextureBrush(myImage)
myGraphics.FillEllipse(myTextureBrush, 0, 0, 100, 50)

Image myImage = Image.FromFile("MyTexture.bmp");
TextureBrush myTextureBrush = new TextureBrush(myImage);
myGraphics.FillEllipse(myTextureBrush, 0, 0, 100, 50);

A ilustração a seguir mostra a elipse preenchida.

Pincéis gradientes

GDI+ fornece dois tipos de pincéis gradientes: linear e caminho.Você pode usar um pincel linear de gradiente para preencher uma forma com cor gradualmente muda sistema autônomo mover através da forma horizontalmente, verticalmente ou diagonalmente.O exemplo de código a seguir mostra sistema autônomo preencher uma elipse com um pincel de gradiente horizontal que muda de azul para verde, ao mudar para a borda direita da borda esquerda da elipse.

Dim myLinearGradientBrush As New LinearGradientBrush( _
   myRectangle, _
   Color.Blue, _
   Color.Green, _
   LinearGradientMode.Horizontal)
myGraphics.FillEllipse(myLinearGradientBrush, myRectangle)

LinearGradientBrush myLinearGradientBrush = new LinearGradientBrush(
   myRectangle,
   Color.Blue,
   Color.Green,
   LinearGradientMode.Horizontal);
myGraphics.FillEllipse(myLinearGradientBrush, myRectangle);

A ilustração a seguir mostra a elipse preenchida.

Um pincel de gradiente de caminho pode ser configurado para alterar a cor à medida que você move do centralizar de uma forma para a borda.

Pincéis de gradientes de caminho são bastante flexíveis.O pincel de gradiente usado para preencher o triângulo nas seguintes alterações de ilustração gradualmente de vermelho no centralizar de cada um dos três cores diferentes nos vértices.

Consulte também

Tarefas

Como: Desenhar um retângulo preenchido em um formulário do Windows

Como: Desenhar uma elipse preenchida em um formulário do Windows

Referência

System.Drawing.SolidBrush

System.Drawing.Drawing2D.HatchBrush

System.Drawing.TextureBrush

System.Drawing.Drawing2D.LinearGradientBrush

Outros recursos

Linhas, curvas e formas