Show / Hide Table of Contents

Кисти и закрашенные фигуры в GDI+

Замкнутые фигуры, например прямоугольник или эллипс, состоит из структуры и внутренней частью. Контур рисуется с помощью пера и внутренняя область заполняется с помощью кисти. GDI+ предоставляет несколько классов кисти для заливки фигур, закрытых: SolidBrush, HatchBrush, TextureBrush, LinearGradientBrush, и PathGradientBrush. Все эти классы наследуют Brush класса. Ниже показан прямоугольник заполняется сплошной кистью и эллипс, заполненный кистей штриховки.

Заполнить фигур

Сплошные кисти

Для заполнения замкнутой фигуры, требуется экземпляр Graphics класс и Brush. Экземпляр Graphics класс предоставляет методы, такие как FillRectangle и FillEllipseи Brush сохраняет атрибуты заливки, таких как цвет и шаблон. Brush Передается в качестве одного из аргументов метода fill. В следующем примере кода показано, как заливка эллипса сплошным красным цветом.

SolidBrush mySolidBrush = new SolidBrush(Color.Red);
myGraphics.FillEllipse(mySolidBrush, 0, 0, 60, 40);
Note

В приведенном выше примере кисть, которая имеет тип SolidBrush, который наследует от Brush.

Кистей штриховки

При заполнении формы штриховой кистью задаются цвет переднего плана, цветом фона и стиль штриховки. Цвет переднего плана — это цвет штриховки.

HatchBrush myHatchBrush =
   new HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green);

GDI+ предоставляет более чем 50 стилей штриховки. на следующем рисунке показано три стили представляют собой Horizontal, ForwardDiagonal, и Cross.

Заполнить фигур

Текстурные кисти

С помощью кисти текстуры вы можете заполнить фигуры с шаблоном, хранящиеся в точечном рисунке. Предположим, например, приведенный ниже рисунок хранится на диске в файле с именем MyTexture.bmp.

Заполнить форму

В следующем примере кода показано, как заливка эллипса, повторив рисунка, сохраненного в MyTexture.bmp.

Image myImage = Image.FromFile("MyTexture.bmp");
TextureBrush myTextureBrush = new TextureBrush(myImage);
myGraphics.FillEllipse(myTextureBrush, 0, 0, 100, 50);

На следующем рисунке заполненного эллипса.

Заполнить форму

Градиентные кисти

GDI+ предоставляет два типа градиентных кистей: линейный и путь. Кисти линейного градиента можно использовать для заливки фигуры цвет, который постепенно через фигуры по горизонтали, вертикали или по диагонали. В следующем примере кода показано, как заливка эллипса с горизонтальной градиентную кисть, которая поменяет цвет с синего на зеленый, при переходе от левого края эллипса по правому краю.

LinearGradientBrush myLinearGradientBrush = new LinearGradientBrush(
   myRectangle,
   Color.Blue,
   Color.Green,
   LinearGradientMode.Horizontal);
myGraphics.FillEllipse(myLinearGradientBrush, myRectangle);

На следующем рисунке заполненного эллипса.

Заполнить форму

Чтобы изменить цвет, при перемещении в центре фигуры к границе можно настроить кисти градиента контура.

Заполнить форму

Градиентные кисти путь отличаются достаточной гибкостью. Кисти градиента, используемый для заполнения в приведенном ниже рисунке последовательно от красного в центре для каждого из трех различных цветов в вершины треугольника.

Заполнить форму

См. также

  • System.Drawing.SolidBrush
  • System.Drawing.Drawing2D.HatchBrush
  • System.Drawing.TextureBrush
  • System.Drawing.Drawing2D.LinearGradientBrush
  • Прямые и кривые линии и фигуры
  • Практическое руководство. Рисование заполненного прямоугольника в Windows Forms
  • Практическое руководство. Рисование заполненного эллипса в Windows Forms
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX