Практическое руководство. Применение гамма-коррекции к градиенту

Обновлен: Ноябрь 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.

См. также

Ссылки

LinearGradientBrush

Другие ресурсы

Заливка фигур с помощью градиентной кисти