Como aplicar correção gama a um gradiente
Você pode ativar a correção de gama para um pincel de gradiente linear definindo a propriedade do GammaCorrection pincel como true
. Você pode desativar a correção de gama definindo a GammaCorrection propriedade como false
. A correção de gama está desativada por padrão.
Exemplo
O exemplo a seguir é um método chamado do manipulador de eventos de Paint um controle. O exemplo cria um pincel de gradiente linear e usa esse pincel para preencher dois retângulos. O primeiro retângulo é preenchido sem correção de gama e o segundo retângulo é preenchido com correção de gama.
A ilustração a seguir mostra os dois retângulos preenchidos. O retângulo superior, que não possui correção de gama, aparece escuro no meio. O retângulo inferior, que tem correção de gama, parece ter uma intensidade mais uniforme.
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)
Compilando o código
O exemplo anterior foi projetado para uso com o Windows Forms e requer PaintEventArgse
, que é um parâmetro do Paint manipulador de eventos.
Confira também
.NET Desktop feedback