Condividi tramite


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.

Due rettangoli con riempimento sfumato, con e senza correzione 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)

Compilazione del codice

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

Vedi anche