Pincéis e formas preenchidas em GDI+
Uma forma fechada, como, por exemplo, um retângulo ou uma elipse, consiste em uma estrutura de tópicos e um interior. O contorno é 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 de Graphics classe e um Brush. A instância da Graphics classe fornece métodos, como FillRectangle e FillEllipsee o Brush armazena os atributos de preenchimento, como cor e padrão. O Brush é passado como um dos argumentos para o método de preenchimento. O exemplo de código a seguir mostra como preencher uma elipse com uma cor sólida de vermelha.
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. |
Hachura pincéis
Quando você preenche uma forma com um pincel de hachura, você deve especificar uma cor de primeiro plano, uma cor de 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 estilos de hachura; os estilos de três mostrados na ilustração a seguir sã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 imagem 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 em dégradé
GDI+fornece dois tipos de pincéis em dégradé: linear e caminho. Você pode usar um pincel linear de gradiente para preencher uma forma com cor altera gradualmente mover através da forma horizontal, vertical ou diagonal. O exemplo de código a seguir mostra como preencher uma elipse com um pincel de gradiente horizontal que muda de azul para verde, ao mover 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 Centro de uma forma na direção do canto.
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 a partir do vermelho no centro para cada uma das três cores diferentes nos vértices.
Consulte também
Tarefas
Como: Desenhar um retângulo preenchido em um Windows Form
Como: Desenhar uma elipse preenchida em um Windows Form
Referência
System.Drawing.Drawing2D.HatchBrush
System.Drawing.Drawing2D.LinearGradientBrush