Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Classe GradientBrush

Uma classe abstrata que descreve um gradiente, composto de paradas de gradação. Classes que herdam GradientBrush descrevem as diferentes maneiras de interpretar paradas de gradação.

Namespace:  System.Windows.Media
Assembly:  PresentationCore (em PresentationCore. dll)

[ContentPropertyAttribute("GradientStops")]
public abstract class GradientBrush : Brush
Essa classe é abstrata; consulte Hierarquia de herança para classes não abstratas derivadas que podem ser usadas em XAML.

Um GradientBrush é um tipo de objeto de Freezable e, portanto, pode ser congelado para melhorar o desempenho.Para obter informações sobre recursos de Freezable , como congelar e clonagem, consulte o Visão geral sobre objetos Freezable.

Observações para Herdeiros:

Quando você herdar da classe GradientBrush , você deve substituir o método CreateInstanceCore.Dependendo de sua classe deve executar o trabalho de inicialização adicionais ou contém membros de dados de propriedade não-dependência, talvez seja necessário substituir métodos adicionais Freezable.Para obter mais informações sobre herança de Freezable tipos, consulte o Visão geral sobre objetos Freezable.

Este exemplo mostra como usar a classe LinearGradientBrush para pintar uma área com um gradiente linear. No exemplo a seguir, o Fill de um Rectangle é pintado com um gradiente linear diagonal que faz a transição de amarelo para vermelho, para azul e para verde limão.

<!-- This rectangle is painted with a diagonal linear gradient. -->
<Rectangle Width="200" Height="100">
  <Rectangle.Fill>
    <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
      <GradientStop Color="Yellow" Offset="0.0" />
      <GradientStop Color="Red" Offset="0.25" />
      <GradientStop Color="Blue" Offset="0.75" />
      <GradientStop Color="LimeGreen" Offset="1.0" />
    </LinearGradientBrush>
  </Rectangle.Fill>
</Rectangle>


Rectangle diagonalFillRectangle = new Rectangle();
diagonalFillRectangle.Width = 200;
diagonalFillRectangle.Height = 100;

// Create a diagonal linear gradient with four stops.   
LinearGradientBrush myLinearGradientBrush =
    new LinearGradientBrush();
myLinearGradientBrush.StartPoint = new Point(0,0);
myLinearGradientBrush.EndPoint = new Point(1,1);
myLinearGradientBrush.GradientStops.Add(
    new GradientStop(Colors.Yellow, 0.0));
myLinearGradientBrush.GradientStops.Add(
    new GradientStop(Colors.Red, 0.25));                
myLinearGradientBrush.GradientStops.Add(
    new GradientStop(Colors.Blue, 0.75));        
myLinearGradientBrush.GradientStops.Add(
    new GradientStop(Colors.LimeGreen, 1.0));

// Use the brush to paint the rectangle.
diagonalFillRectangle.Fill = myLinearGradientBrush;


A ilustração a seguir mostra o gradiente criado pelo exemplo anterior.

Um gradiente linear diagonal

Para criar um gradiente horizontal linear, altere o StartPoint e o EndPoint da LinearGradientBrush para (0,0.5) e (1,0.5). No exemplo a seguir, um Rectangle é pintado com um gradiente horizontal linear.

<!-- This rectangle is painted with a horizontal linear gradient. -->
<Rectangle Width="200" Height="100">
  <Rectangle.Fill>
    <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
      <GradientStop Color="Yellow" Offset="0.0" />
      <GradientStop Color="Red" Offset="0.25" />
      <GradientStop Color="Blue" Offset="0.75" />
      <GradientStop Color="LimeGreen" Offset="1.0" />
    </LinearGradientBrush>
  </Rectangle.Fill>
</Rectangle>


Rectangle horizontalFillRectangle = new Rectangle();
horizontalFillRectangle.Width = 200;
horizontalFillRectangle.Height = 100;

// Create a horizontal linear gradient with four stops.   
LinearGradientBrush myHorizontalGradient =
    new LinearGradientBrush();
myHorizontalGradient.StartPoint = new Point(0,0.5);
myHorizontalGradient.EndPoint = new Point(1,0.5);
myHorizontalGradient.GradientStops.Add(
    new GradientStop(Colors.Yellow, 0.0));
myHorizontalGradient.GradientStops.Add(
    new GradientStop(Colors.Red, 0.25));                
myHorizontalGradient.GradientStops.Add(
    new GradientStop(Colors.Blue, 0.75));        
myHorizontalGradient.GradientStops.Add(
    new GradientStop(Colors.LimeGreen, 1.0));

// Use the brush to paint the rectangle.
horizontalFillRectangle.Fill = myHorizontalGradient; 



A ilustração a seguir mostra o gradiente criado pelo exemplo anterior.

Um gradiente horizontal linear

Para criar um gradiente horizontal linear, altere o StartPoint e o EndPoint da LinearGradientBrush para (0.5,0) e (0.5,1). No exemplo a seguir, um Rectangle é pintado com um gradiente horizontal linear.

<!-- This rectangle is painted with a vertical gradient. -->
<Rectangle Width="200" Height="100">
  <Rectangle.Fill>
    <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
      <GradientStop Color="Yellow" Offset="0.0" />
      <GradientStop Color="Red" Offset="0.25" />
      <GradientStop Color="Blue" Offset="0.75" />
      <GradientStop Color="LimeGreen" Offset="1.0" />
    </LinearGradientBrush>
  </Rectangle.Fill>
</Rectangle>


Rectangle verticalFillRectangle = new Rectangle();
verticalFillRectangle.Width = 200;
verticalFillRectangle.Height = 100;

// Create a vertical linear gradient with four stops.   
LinearGradientBrush myVerticalGradient =
    new LinearGradientBrush();
myVerticalGradient.StartPoint = new Point(0.5,0);
myVerticalGradient.EndPoint = new Point(0.5,1);
myVerticalGradient.GradientStops.Add(
    new GradientStop(Colors.Yellow, 0.0));
myVerticalGradient.GradientStops.Add(
    new GradientStop(Colors.Red, 0.25));                
myVerticalGradient.GradientStops.Add(
    new GradientStop(Colors.Blue, 0.75));        
myVerticalGradient.GradientStops.Add(
    new GradientStop(Colors.LimeGreen, 1.0));

// Use the brush to paint the rectangle.
verticalFillRectangle.Fill = myVerticalGradient;  


A ilustração a seguir mostra o gradiente criado pelo exemplo anterior.

Um gradiente linear vertical
ObservaçãoObservação:

O Exemplos neste tópico Use o sistema de coordenadas padrão para a configuração de Iniciar pontos e pontos de extremidade. O padrão coordenParar SistemPara Para relParativPara Para umPara cParaixPara delimitParadorPara: 0 indica 0 porcentagemem da caixa delimitadora , e 1 indica 100 porcentagem da caixa delimitadora. Você pode c alterar este sistema de coordenadas por Configuração o Propriedade MappingMode para o valor BrushMappingMode.Absolute. An absolute coordinate system is not relative to a bounding box. Values are interpreted directly in local space.

Para exemplos adicionais, consulte Exemplo de pincéis. Para obter mais informações sobre gradientes e outros tipos de pincéis, consulte Painting with Solid Colors and Gradients Overview.

Mais código

Como: Pintar uma Área com um Gradiente Radial Este exemplo mostra como usar a classe RadialGradientBrush para pintar uma área com um gradiente radial.

Quaisquer membros público estático (compartilhado no Visual Basic) deste tipo são processos seguros. Quaisquer membros de instância não são garantidos como processos seguros.

Windows Vista, Windows XP SP2, Windows Server 2003

O .NET Framework e .NET Compact Framework não suporte para todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos de sistema do .NET framework.

.NET Framework

Compatível com: 3.5, 3.0

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft