Procedura: applicare la correzione gamma a una sfumatura

È possibile abilitare la correzione gamma per un pennello sfumatura lineare impostando la proprietà del GammaCorrection pennello su true. È possibile disabilitare la correzione gamma impostando la GammaCorrection proprietà su false. La correzione gamma è disabilitata per impostazione predefinita.

Esempio

L'esempio seguente è un metodo chiamato dal gestore eventi di Paint un controllo. L'esempio crea un pennello sfumato lineare e usa tale pennello per riempire due rettangoli. Il primo rettangolo viene riempito senza correzione gamma e il secondo rettangolo viene riempito con correzione gamma.

La figura seguente mostra i due rettangoli riempiti. Il rettangolo superiore, che non ha correzione gamma, appare scuro al centro. Il rettangolo inferiore, con correzione gamma, sembra avere un'intensità più uniforme.

Two gradient-filled rectangles, with and without gamma correction.

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)

Compilazione del codice

L'esempio precedente è progettato per l'uso con Windows Form e richiede PaintEventArgse, un parametro del gestore eventi Paint.

Vedi anche