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.
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
.NET Desktop feedback