Procedimiento para aplicar corrección gamma a un degradado

Puede habilitar la corrección gamma para un pincel de degradado lineal estableciendo la propiedad GammaCorrection del pincel en true. Puede deshabilitar la corrección gamma estableciendo la propiedad GammaCorrection en false. La corrección gamma está deshabilitada de forma predeterminada.

Ejemplo

El ejemplo siguiente es un método al que se llama desde el controlador de eventos Paint de un control. En el ejemplo se crea un pincel de degradado lineal que se usa para rellenar dos rectángulos. El primer rectángulo se rellena sin corrección gamma y el segundo rectángulo se rellena con corrección gamma.

En la siguiente ilustración se muestran los dos rectángulos rellenados: El rectángulo superior, que no tiene corrección gamma, aparece oscuro en el medio. El rectángulo inferior, que tiene corrección gamma, parece tener una intensidad más uniforme.

Dos rectángulos con relleno de degradado, con y sin corrección gamma.

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)

Compilar el código

El ejemplo anterior está diseñado para su uso con Windows Forms y requiere PaintEventArgse, que es un parámetro del controlador de eventos Paint.

Consulte también