Freigeben über


Vorgehensweise: Anwenden der Gammakorrektur bei einem Farbverlauf

Sie können die Gammakorrektur für einen linearen Farbverlaufspinsel aktivieren, indem Sie die GammaCorrection-Eigenschaft des Pinsels auf true festlegen. Sie können die Gammakorrektur deaktivieren, indem Sie die GammaCorrection-Eigenschaft auf false festlegen. Gammakorrektur ist standardmäßig deaktiviert.

Beispiel

Im folgenden Beispiel handelt es sich um eine Methode, die vom Paint-Ereignishandler eines Steuerelements aufgerufen wird. Das Beispiel erstellt einen linearen Farbverlaufspinsel und verwendet diesen Pinsel, um zwei Rechtecks zu füllen. Das erste Rechteck wird ohne Gammakorrektur gefüllt, und das zweite Rechteck wird mit Gammakorrektur gefüllt.

In der folgenden Abbildung werden die zwei gefüllten Rechtecke gezeigt. Das obere Rechteck, ohne Gammakorrektur, erscheint dunkel in der Mitte. Das untere Rechteck, mit Gammakorrektur, scheint eine gleichmäßigere Intensität zu haben.

Zwei mit Farbverlauf gefüllte Rechtecke mit und ohne Gammakorrektur

public void FillTwoRectangles(PaintEventArgs e)
{
   LinearGradientBrush linGrBrush = new LinearGradientBrush(
       new Point(0, 10),
       new Point(200, 10),
       Color.Red,
       Color.Blue);

    e.Graphics.FillRectangle(linGrBrush, 0, 0, 200, 50);
    linGrBrush.GammaCorrection = true;
    e.Graphics.FillRectangle(linGrBrush, 0, 60, 200, 50);
}
Dim linGrBrush As New LinearGradientBrush( _
   New Point(0, 10), _
   New Point(200, 10), _
   Color.Red, _
   Color.Blue)

e.Graphics.FillRectangle(linGrBrush, 0, 0, 200, 50)
linGrBrush.GammaCorrection = True
e.Graphics.FillRectangle(linGrBrush, 0, 60, 200, 50)

Kompilieren des Codes

Das obige Beispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgs e, einen Parameter des Paint-Ereignishandlers.

Siehe auch