Übersicht über das Zeichnen mit Volltonfarben und Farbverläufen

In diesem Thema wird beschrieben, wie die Objekte SolidColorBrush, LinearGradientBrush und RadialGradientBrush verwendet werden, um mit Volltonfarben, linearen Farbverläufen und radialen Farbverläufen zu zeichnen.

Dieses Thema enthält folgende Abschnitte.

  • Zeichnen eines Bereichs mit einer Volltonfarbe
  • Zeichnen eines Bereichs mit einem Farbverlauf
  • Lineare Farbverläufe
  • Strahlenförmige Farbverläufe
  • Festlegen von transparenten oder teilweise transparenten Farbverlaufsunterbrechungspunkten
  • Zeichnen mit Bildern, Zeichnungen, grafischen Elementen und Mustern
  • Verwandte Abschnitte

Zeichnen eines Bereichs mit einer Volltonfarbe

Einer der am häufigsten verwendeten Vorgänge auf allen Plattformen ist, einen Bereich mit Volltonfarbe (solid Color) zu zeichnen. Um diese Aufgabe auszuführen, stellt Windows Presentation Foundation (WPF) die SolidColorBrush-Klasse bereit. In den folgenden Abschnitten werden die verschiedenen Möglichkeiten beschrieben, mit einem SolidColorBrush zu zeichnen.

Verwenden eines SolidColorBrush in "XAML"

Um in XAML einen Bereich mit einer Volltonfarbe zu zeichnen, verwenden Sie eine der folgenden Optionen.

  • Wählen Sie einen vordefinierten Volltonfarbenpinsel über den Namen aus. Zum Beispiel können Sie den Background einer Schaltfläche auf "Red" oder "MediumBlue" festlegen. Eine Liste anderer vordefinierter Volltonfarbenpinsel finden Sie in den statischen Eigenschaften der Brushes-Klasse. Im Folgenden finden Sie ein Beispiel.

    <!-- This button's background is painted with a red SolidColorBrush,
         described using a named color. -->
    <Button Background="Red">A Button</Button>
    
  • Wählen Sie eine Farbe aus der 32-Bit-Farbpalette aus, indem Sie die Anteile von Rot, Grün und Blau festlegen, aus denen sich eine Volltonfarbe zusammensetzt. Das Format zum Festlegen einer Farbe aus der 32-Bit-Palette ist "#rrggbb", wobei mit dem zweistelligen Hexadezimalwert rr der relative Anteil von Rot, mit gg der Anteil von Grün und mit bb der Anteil von Blau festgelegt wird. Zusätzlich kann die Farbe im Format "#aarrggbb" angegeben werden, wobei aa für den Alphawert, also die Transparenz, der Farbe steht. Dieser Ansatz ermöglicht es Ihnen, Farben zu erstellen, die teilweise transparent sind. Im folgenden Beispiel wird der Background eines Button-Elements mithilfe der Hexadezimalnotation auf vollständig deckendes Rot festgelegt.

    <!-- This button's background is painted with a red SolidColorBrush,
         described using hexadecimal notation. -->
    <Button Background="#FFFF0000">A Button</Button>
    
  • Verwenden Sie die Syntax für Eigenschaftentags, um einen SolidColorBrush zu beschreiben. Diese Syntax ist ausführlicher, aber ermöglicht es Ihnen, zusätzliche Einstellungen anzugeben, z. B. die Deckkraft des Pinsels. Im folgenden Beispiel werden die Background-Eigenschaften von zwei Button-Elementen auf vollständig deckendes Rot festgelegt. Die Farbe des ersten Pinsels wird mit einem vordefinierten Farbnamen beschrieben. Die Farbe des zweiten Pinsels wird mithilfe der Hexadezimalnotation beschrieben.

    <!-- Both of these buttons' backgrounds are painted with red 
         SolidColorBrush objects, described using object element
         syntax. -->
    <Button>A Button
    
      <Button.Background>
        <SolidColorBrush Color="Red" />
      </Button.Background>
    </Button>
    
    <Button>A Button
    
      <Button.Background>
        <SolidColorBrush Color="#FFFF0000" />
      </Button.Background>
    </Button>  
    

Zeichnen mit einem SolidColorBrush in Code

Um einen Bereich mit einer Volltonfarbe in Code zu zeichnen, verwenden Sie eine der folgenden Optionen.

  • Verwenden Sie einen der vordefinierten Pinsel, die von der Brushes-Klasse bereitgestellt werden. Im folgenden Beispiel wird der Background eines Button-Elements auf Red festgelegt.

    Button myButton = new Button();
    myButton.Content = "A Button";
    myButton.Background = Brushes.Red;  
    
  • Erstellen Sie einen SolidColorBrush, und legen Sie seine Color-Eigenschaft mit einer Color-Struktur fest. Sie können eine vordefinierte Farbe aus der Colors-Klasse verwenden oder eine Color mithilfe der statischen FromArgb-Methode erstellen.

    Das folgende Beispiel zeigt, wie die Color-Eigenschaft für einen SolidColorBrush mit einer vordefinierten Farbe festgelegt wird.

    Button myButton = new Button();
    myButton.Content = "A Button";
    
    SolidColorBrush mySolidColorBrush = new SolidColorBrush();
    mySolidColorBrush.Color = Colors.Red;
    myButton.Background = mySolidColorBrush;
    

Die statische FromArgb-Methode ermöglicht es Ihnen, die roten, grünen, und blauen Alphawerte der Farbe anzugeben. Der typische Bereich für jeden dieser Werte ist 0-255. Beispielsweise gibt der Alphawert 0 (null) an, dass die Farbe vollständig transparent ist, während der Wert 255 angibt, dass die Farbe vollständig deckend ist. Ebenso gibt der Wert 0 für die Farbe Rot an, dass eine Farbe keinen Rotanteil hat, während bei einem Wert von 255 der maximale Rotanteil erreicht wird. Im folgenden Beispiel wird die Farbe eines Pinsels beschrieben, indem rote, grüne, und blaue Alphawerte angegeben werden.

Button myButton = new Button();
myButton.Content = "A Button";

SolidColorBrush mySolidColorBrush = new SolidColorBrush();
mySolidColorBrush.Color = 
    Color.FromArgb(
        255, // Specifies the transparency of the color.
        255, // Specifies the amount of red.
        0, // specifies the amount of green.
        0); // Specifies the amount of blue.

myButton.Background = mySolidColorBrush;

Weitere Möglichkeiten zum Angeben von Farben finden Sie im Color-Referenzthema.

Zeichnen eines Bereichs mit einem Farbverlauf

Ein Farbverlaufspinsel zeichnet einen Bereich mit mehreren Farben, die sich an einer Achse miteinander vermischen. Sie können Farbverlaufspinsel verwenden, um Eindrücke von Licht und Schatten zu erzeugen und den Steuerelementen ein dreidimensionales Aussehen zu geben. Sie können sie auch verwenden, um Glas, Chrom, Wasser und andere glatte Oberflächen zu simulieren. WPF stellt zwei Typen von Farbverlaufspinseln bereit: LinearGradientBrush und RadialGradientBrush.

Lineare Farbverläufe

Ein LinearGradientBrush zeichnet einen Bereich mit einem an einer Zeile definierten Farbverlauf, der Farbverlaufsachse. Sie können die Farben des Farbverlaufs und ihren Speicherort an der Farbverlaufsachse mithilfe von GradientStop-Objekten angeben. Sie können auch die Farbverlaufsachse ändern. Dies ermöglicht Ihnen, horizontale und vertikale Farbverläufe zu erstellen und die Richtung des Farbverlaufs umzukehren. Die Farbverlaufsachse wird im nächsten Abschnitt beschrieben. Standardmäßig wird ein diagonaler Farbverlauf erstellt.

Das folgende Beispiel zeigt den Code, mit dem ein linearer Farbverlauf mit vier Farben erstellt wird.

<!-- 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;

Dieser Code erzeugt den folgenden Farbverlauf:

Ein diagonaler, linearer Farbverlauf

Hinweis: Die Beispiele für Farbverläufe in diesem Thema verwenden das Standardkoordinatensystem zum Festlegen von Startpunkten und Endpunkten. Das Standardkoordinatensystem ist relativ zu einem umgebenden Rechteck: 0 gibt 0 Prozent des umgebenden Rechtecks an, und 1 gibt 100 Prozent des umgebenden Rechtecks an. Sie können dieses Koordinatensystem ändern, indem Sie den Wert der MappingMode-Eigenschaft auf den Wert Absolute festlegen. Ein absolutes Koordinatensystem ist nicht relativ zu einem umgebenden Rechteck. Werte werden direkt im lokalen Raum interpretiert.

Der GradientStop ist der Grundbaustein eines Farbverlaufspinsels. Ein Farbverlaufsunterbrechungspunkt gibt eine Color für einen Offset an der Farbverlaufsachse an.

  • Die Color-Eigenschaft des Farbverlaufsunterbrechungspunkts gibt die Farbe des Farbverlaufsunterbrechungspunkts an. Sie können die Farbe festlegen, indem Sie eine vordefinierte Farbe verwenden (bereitgestellt von der Colors-Klasse) oder indem Sie ScRGB-Werte oder ARGB-Werte angeben. In XAML können Sie auch die Hexadezimalnotation verwenden, um eine Farbe zu beschreiben. Weitere Informationen finden Sie in der Color-Struktur.

  • Die Offset-Eigenschaft des Farbverlaufsunterbrechungspunkts gibt die Position der Farbe des Farbverlaufsunterbrechungspunkts auf der Farbverlaufsachse an. Der Offset ist ein Double zwischen 0 und 1. Je näher der Offsetwert des Farbverlaufsstopps bei 0 (null) liegt, desto näher befindet sich die Farbe am Beginn des Farbverlaufs. Je näher der Offsetwert des Farbverlaufsunterbrechungspunkts bei 1 liegt, desto näher befindet sich die Farbe am Ende des Farbverlaufs.

Die Farbe jedes Punkts zwischen Farbverlaufsunterbrechungspunkten wird als eine Kombination der Farben, die durch die zwei umschließenden Farbverlaufsunterbrechungspunkte angegeben werden, linear interpoliert. In der folgenden Abbildung werden die Farbverlaufsunterbrechungspunkte aus dem vorherigen Beispiel hervorgehoben. Die Kreise markieren die Position der Farbverlaufsunterbrechungspunkte, und eine gestrichelte Linie zeigt die Farbverlaufsachse an.

Farbverlaufstopps in einem linearen Farbverlauf

Der erste Farbverlaufsunterbrechungspunkt gibt die Farbe Gelb bei einem Offset von 0.0 an. Der zweite Farbverlaufsunterbrechungspunkt gibt die Farbe Rot bei einem Offset von 0.25 an. Die Farbe der Punkte zwischen diesen zwei Punkten ändert sich allmählich von Gelb zu Rot, wenn Sie sich von links nach rechts entlang der Farbverlaufsachse bewegen. Der dritte Farbverlaufsunterbrechungspunkt gibt die Farbe Blau bei einem Offset von 0.75 an. Die Farbe der Punkte zwischen dem zweiten und dem dritten Farbverlaufsunterbrechungspunkt ändert sich allmählich von Rot zu Blau. Der vierte Farbverlaufsunterbrechungspunkt gibt die Farbe Gelbgrün bei einem Offset von 1.0 an. Die Farbe der Punkte zwischen dem dritten und dem vierten Farbverlaufsunterbrechungspunkt ändert sich allmählich von Blau zu Gelbgrün.

Die Farbverlaufsachse

Wie bereits erwähnt, befinden sich die Farbverlaufsunterbrechungspunkte eines Pinsels mit linearem Farbverlauf auf einer Linie, der Farbverlaufsachse. Sie können die Ausrichtung und die Größe der Linie mit der StartPoint-Eigenschaft und der EndPoint-Eigenschaft des Pinsels ändern. Durch Bearbeiten von StartPoint und EndPoint des Pinsels können Sie unter anderem horizontale und vertikale Farbverläufe erstellen, die Richtung des Farbverlaufs umkehren und die Farbverlaufsausdehnung verringern.

Standardmäßig sind der StartPoint und der EndPoint des Pinsels mit linearem Farbverlauf relativ zum Bereich, der gezeichnet wird. Der Punkt (0,0) stellt die obere linke Ecke und der Punkt (1,1) die untere rechte Ecke des Bereichs dar, der gezeichnet wird. Der StartPoint von einem LinearGradientBrush ist standardmäßig (0,0), und der EndPoint ist standardmäßig (1,1), wodurch ein diagonaler Farbverlauf von der oberen linken zur unteren rechten Ecke des gezeichneten Bereichs erstellt wird. Die folgende Abbildung zeigt die Farbverlaufsachse eines Pinsels mit linearem Farbverlauf mit dem Standard-StartPoint und dem Standard-EndPoint.

Farbverlaufachse für einen diagonalen linearen Farbverlauf

Das folgende Beispiel zeigt, wie ein horizontaler Farbverlauf erstellt wird, indem der StartPoint und der EndPoint des Pinsels angegeben werden. Beachten Sie, dass die Farbverlaufsunterbrechungspunkte die gleichen sind wie in den vorherigen Beispielen. Der Farbverlauf wurde ganz einfach von diagonal in horizontal geändert, indem der StartPoint und der EndPoint geändert wurden.

<!-- 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; 

Die folgende Abbildung zeigt den Farbverlauf an, der erstellt wird. Die Farbverlaufsachse wird mit einer gestrichelten Linie markiert, die Farbverlaufsunterbrechungspunkte mit Kreisen.

Farbverlaufachse für einen horizontalen linearen Farbverlauf

Im nächsten Beispiel wird gezeigt, wie ein vertikaler Farbverlauf erstellt wird.

<!-- 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;  

Die folgende Abbildung zeigt den Farbverlauf, der erstellt wird. Die Farbverlaufsachse wird mit einer gestrichelten Linie markiert, die Farbverlaufsunterbrechungspunkte mit Kreisen.

Farbverlaufachse für einen vertikalen Farbverlauf

Strahlenförmige Farbverläufe

Ein RadialGradientBrush zeichnet genau wie ein LinearGradientBrush einen Bereich mit Farben, die an einer Achse ineinander übergehen. Die vorherigen Beispiele haben gezeigt, dass die Achse eines Pinsels mit linearem Farbverlauf eine gerade Linie ist. Die Achse eines Pinsels mit radialem Farbverlauf wird durch einen Kreis definiert; seine Farben "strahlen" von seinem Ursprung aus nach außen.

Im folgenden Beispiel wird ein Pinsel mit radialem Farbverlauf verwendet, um das Innere eines Rechtecks zu zeichnen.

    <!-- This rectangle is painted with a diagonal linear gradient. -->
    <Rectangle Width="200" Height="100">
      <Rectangle.Fill>
        <RadialGradientBrush 
          GradientOrigin="0.5,0.5" Center="0.5,0.5" 
          RadiusX="0.5" RadiusY="0.5">
          <GradientStop Color="Yellow" Offset="0" />
          <GradientStop Color="Red" Offset="0.25" />
          <GradientStop Color="Blue" Offset="0.75" />
          <GradientStop Color="LimeGreen" Offset="1" />
        </RadialGradientBrush>
      </Rectangle.Fill>
    </Rectangle>

RadialGradientBrush myRadialGradientBrush = new RadialGradientBrush();
myRadialGradientBrush.GradientOrigin = new Point(0.5,0.5);
myRadialGradientBrush.Center = new Point(0.5,0.5);
myRadialGradientBrush.RadiusX = 0.5;
myRadialGradientBrush.RadiusY = 0.5;
myRadialGradientBrush.GradientStops.Add(
    new GradientStop(Colors.Yellow, 0.0));
myRadialGradientBrush.GradientStops.Add(
    new GradientStop(Colors.Red, 0.25));
myRadialGradientBrush.GradientStops.Add(
    new GradientStop(Colors.Blue, 0.75));
myRadialGradientBrush.GradientStops.Add(
    new GradientStop(Colors.LimeGreen, 1.0));

Rectangle myRectangle = new Rectangle();
myRectangle.Width = 200;
myRectangle.Height = 100;
myRectangle.Fill = myRadialGradientBrush;

In der folgenden Abbildung wird der im vorherigen Beispiel erstellte Farbverlauf dargestellt. Die Farbverlaufsunterbrechungspunkte des Pinsels wurden hervorgehoben. Beachten Sie, dass trotz der unterschiedlichen Ergebnisse die Farbverlaufsunterbrechungspunkte die gleichen sind wie in den vorherigen Beispielen mit linearem Farbverlauf.

Farbverlaufstopps in einem radialen Farbverlauf

Der GradientOrigin gibt den Ausgangspunkt der Farbverlaufsachse eines Pinsels mit radialem Farbverlauf an. Die Farbverlaufsachse strahlt vom Farbverlaufsursprung zum Farbverlaufskreis aus. Der Farbverlaufskreis eines Pinsels wird von den Eigenschaften Center, RadiusX und RadiusY definiert.

Die folgende Abbildung zeigt mehrere radiale Farbverläufe mit verschiedenen Einstellungen für GradientOrigin, Center, RadiusX und RadiusY.

RadialGradientBrushes mit verschiedenen Einstellungen für GradientOrigin, Center, RadiusX und RadiusY

RadialGradientBrush-Einstellungen

Festlegen von transparenten oder teilweise transparenten Farbverlaufsunterbrechungspunkten

Da Farbverlaufsunterbrechungspunkte keine Opacity-Eigenschaft besitzen, müssen Sie den Alphakanal für Farben mithilfe der ARGB-Hexadezimalnotation in Markup angeben oder die Color.FromScRgb-Methode verwenden, um transparente oder teilweise transparente Farbverlaufsunterbrechungspunkte zu erstellen. In den folgenden Abschnitten wird erklärt, wie teilweise transparente Farbverlaufsunterbrechungspunkte in XAML und Code erstellt werden. Informationen über das Festlegen der Deckkraft des gesamten Pinsels finden Sie im Abschnitt Angeben der Deckkraft eines Pinsels.

Angeben der Deckkraft einer Farbe in "XAML"

In XAML wird die ARGB-Hexadezimalnotation verwendet , um die Deckkraft einzelner Farben anzugeben. Die ARGB-Hexadezimalnotation verwendet die folgende Syntax:

#aarrggbb

In der vorangehenden Zeile steht aa für einen zweistelligen Hexadezimalwert, der verwendet wird, um die Deckkraft der Farbe anzugeben. rr, gg und bb stehen jeweils für einen zweistelligen Hexadezimalwert, der verwendet wird, um die Anteile von Rot, Grün und Blau in einer Farbe anzugeben. Jede Hexadezimalziffer kann einen Wert von 0-9 oder A-F haben. 0 (null) ist der kleinste Wert, und F ist der größte. Der Alphawert 00 gibt eine Farbe an, die vollständig transparent ist, während ein Alphawert  FF eine vollständig deckende Farbe erzeugt. Im folgenden Beispiel wird die ARGB-Hexadezimalnotation verwendet, um zwei Farben anzugeben. Die erste Farbe ist teilweise transparent (sie hat einen Alphawert von 20), während die zweite Farbe vollständig deckend ist.

<Rectangle Width="100" Height="100">
  <Rectangle.Fill>
    <LinearGradientBrush StartPoint="0,0">

      <!-- This gradient stop is partially transparent. -->
      <GradientStop Color="#200000FF" Offset="0.0" />

      <!-- This gradient stop is fully opaque. -->
      <GradientStop Color="#FF0000FF" Offset="1.0" />
    </LinearGradientBrush>
  </Rectangle.Fill>
</Rectangle>

Angeben der Deckkraft einer Farbe in Code

Wenn Sie Code verwenden, ermöglicht Ihnen die statische FromArgb-Methode, einen Alphawert beim Erstellen einer Farbe anzugeben. Diese Methode verwendet vier Parameter des Typs Byte. Der erste Parameter gibt den Alphakanal der ersten Farbe an, während die drei anderen Parameter die Rot-, Grün- und Blauwerte der Farbe angeben. Jeder Wert sollte zwischen 0 und einschließlich 255 liegen. Der Alphawert 0 gibt an, dass eine Farbe vollständig transparent ist, während bei einem Alphawert  von 255 die Farbe vollständig deckend ist. Im folgenden Beispiel werden mithilfe der FromArgb-Methode zwei Farben erzeugt. Die erste Farbe ist teilweise transparent (sie hat einen Alphawert von 32), während die zweite Farbe vollständig deckend ist.

            LinearGradientBrush myLinearGradientBrush = new LinearGradientBrush();

            // This gradient stop is partially transparent.
            myLinearGradientBrush.GradientStops.Add(
                new GradientStop(Color.FromArgb(32, 0, 0, 255), 0.0));

            // This gradient stop is fully opaque. 
            myLinearGradientBrush.GradientStops.Add(
                new GradientStop(Color.FromArgb(255, 0, 0, 255), 1.0));

            Rectangle myRectangle = new Rectangle();
            myRectangle.Width = 100;
            myRectangle.Height = 100;
            myRectangle.Fill = myLinearGradientBrush;

Alternativ können Sie die FromScRgb-Methode verwenden, bei der Sie mithilfe von ScRGB-Werten eine Farbe erzeugen.

Zeichnen mit Bildern, Zeichnungen, grafischen Elementen und Mustern

Die Klassen ImageBrush, DrawingBrush und VisualBrush ermöglichen es Ihnen, einen Bereich mit Bildern, Zeichnungen oder grafischen Elementen zu zeichnen. Informationen über das Zeichnen mit Bildern, Zeichnungen und Mustern finden Sie unter Zeichnen mit Bildern, Zeichnungen und visuellen Elementen.

Siehe auch

Referenz

Brush

SolidColorBrush

LinearGradientBrush

RadialGradientBrush

Konzepte

Zeichnen mit Bildern, Zeichnungen und visuellen Elementen

Übersicht über Pinseltransformationen

Renderingebenen für Grafiken