zu www.bildungsgueter.de nächster Abschnitt zur Inhaltsübersicht des Kapitels vorheriger Abschnitt

Graphics: Einen Farbverlauf verwenden

Bei dem obigen Beispiel habe ich darauf geachtet, dass das Rechteck, über das sich der Farbverlauf erstreckt, mit dem auszufüllenden Rechteck übereinstimmt. Das ist oft zweckmäßig, aber keineswegs erforderlich. Du kannst auch auch folgendes machen:

Rectangle bereich = Rectangle.Inflate(rechteck, -10, -10);
Rectangle gradientBereich = new Rectangle(bereich.Location, new Size(50, 50));

using (LinearGradientBrush pinsel =
             new LinearGradientBrush
                   (gradientBereich,  //  Überdeckungsbreich
                    Color.Firebrick,  //  Farbe im Anfangspunkt
                    Color.LawnGreen,  //  Farbe im Endpunkt
                    50.0f)            //  Verlaufsrichtung
      )
{
    g.FillRectangle(pinsel, bereich);
}

Der Farbverlauf wird nun wiederholt, um das ganze Rechteck auszufüllen:

Wiederholter Farbverlauf

Ein Farbverlauf kann auf verschiedene Weise wiederholt werden. Durch die Festlegung eines Wertes für die Eigenschaft WrapMode des LinearGradientBrush bestimmst du, welches Verfahren verwendet wird.

Mit WrapMode.TileFlipX legst du fest, dass der Farbverlauf bei jeder Wiederholung gespiegelt wird:

Rectangle bereich = Rectangle.Inflate(rechteck, -10, -10);
Rectangle gradientBereich = new Rectangle(bereich.Location, new Size(50, 50));

using (LinearGradientBrush pinsel =
             new LinearGradientBrush
                   (gradientBereich,  //  Überdeckungsbreich
                    Color.Firebrick,  //  Farbe im Anfangspunkt
                    Color.LawnGreen,  //  Farbe im Endpunkt
                    50.0f)            //  Verlaufsrichtung
      )
{
      //  Wiederholungsmodus auf "Umkippen" einstellen
    pinsel.WrapMode = WrapMode.TileFlipX;
    g.FillRectangle(pinsel, bereich);
}

Vergrößere dieses Fenster um zu sehen, dass der Farbverlauf immer so oft als nötig wiederholt wird.

Wiederholung eines Farbverlaufs mit Umklappen


vorheriger Abschnitt zur Inhaltsübersicht des Kapitels nächster Abschnitt