Практическое руководство. Применение гамма-коррекции к градиенту
Обновлен: Ноябрь 2007
Для кисти линейного градиента можно включить гамма-коррекцию, присвоив свойству GammaCorrection этой кисти значение true. Чтобы отключить гамма-коррекцию, необходимо присвоить свойству GammaCorrection значение false. По умолчанию гамма-коррекция отключена.
Пример
В следующем примере создается кисть линейного градиента, которая затем используется для заливки двух прямоугольников. При заливке первого прямоугольника гамма-коррекция отключена, а при заливке второго включена.
Два нарисованных прямоугольника представлены на следующем рисунке. Верхний прямоугольник, для которого не использовалась гамма-коррекция, в середине кажется темным. На поверхности нижнего прямоугольника, для которого гамма-коррекция была включена, интенсивность цветов распределена более равномерно.
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)
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);
Компиляция кода
Предыдущий пример предназначен для работы с Windows Forms, для него необходим объект PaintEventArgs e, передаваемый в качестве параметра обработчику события Paint.