Поделиться через


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

Градиентная кисть используется для заливки фигуры плавно меняющимся цветом. Например, с помощью горизонтального градиента можно залить фигуру цветом, плавно меняющимся по мере продвижения от левого края фигуры к ее правому краю. Примером может послужить прямоугольник с черным левым краем (значения красного, зеленого и синего компонентов равны 0) и красным правым краем (значения компонентов цвета равны соответственно 255, 0, 0). Если ширина прямоугольника равна 256 пикселям, красный компонент цвета произвольного пикселя будет на единицу больше, чем красный компонент цвета соседнего пикселя слева от него. Пиксель, расположенный в ряду крайним слева, имеет компоненты цвета (0, 0, 0), второй слева пиксель — (1, 0, 0), третий — (2, 0, 0) и т. д. до крайнего справа пикселя, цветовые компоненты которого равны (255, 0, 0). Эти интерполированные значения цветовых компонентов составляют градиент цвета.

Линейный градиент меняет цвет по мере продвижения по горизонтали, вертикали или параллельно некоторой наклонной линии. Градиент контура меняет цвет по мере продвижения по внутренней части и границе этого контура. Путем настройки градиентов контура можно достигнуть множества различных эффектов.

На рисунке ниже показаны прямоугольник, залитый с помощью кисти линейного градиента, и эллипс, залитый с помощью кисти градиента контура.

A rectangle filled with a gradient brush with an ellipse.

В этом разделе

Практическое руководство. Создание линейного градиента
Описывается, как создать линейный градиент с помощью класса LinearGradientBrush.

Практическое руководство. Создание градиента вдоль контура
Описывается, как создать градиент контура с помощью класса PathGradientBrush.

Практическое руководство. Применение гамма-коррекции к градиенту
Описывается, как использовать гамма-коррекцию с градиентной кистью.

Ссылка

System.Drawing.Drawing2D.LinearGradientBrush
Содержит описание этого класса и ссылки на разделы с описаниями всех его членов.

System.Drawing.Drawing2D.PathGradientBrush
Содержит описание этого класса и ссылки на разделы с описаниями всех его членов.