Compartir a través de


Cómo aplicar la corrección gamma a un degradado

Puede habilitar la corrección gamma para un pincel de degradado lineal configurando la propiedad GammaCorrection 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 de Paint un control. En el ejemplo se crea un pincel de degradado lineal y se usa ese pincel 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 ilustración siguiente se muestran los dos rectángulos rellenos. 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 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 Paint controlador de eventos.

Consulte también