Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.36
Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.36

5.1. SolidBrush

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

"прямоугольник

е.Graphics.FillRectangle(New SolidBrush(Color.Red), 10, _

10, 100, 100)

"эллипс

Dim brush As New SolidBrush(Color.Green) Dim rect As New Rectangle(130, 10, 100, 100) e.Graphics.FillEllipse(brush, rect)

Как видно из этого примера, создание заливки немногим отличается от рисования. Вместо метода Draw... используется метод Fill..., а вместо пера Реп создается кисть SolidBrush.

При наложении одного нарисованного элемента на другой окраска верхнего элемента перекрывает окраску нижнего. Это продемонстрировано в следующем коде, где поверх эллипса накладывается многоугольник. Соответственно, снача-. ла составляется код для нижнего элемента, а затем - для верхнего элемента:

"эллипс

е.Graphics.FillEllipse(New SolidBrush(Color.Red), 10, 150, 150, 100) "многоугольник

Dim ptl As New Point(85, 150)

Dim pt2 As New Point(160, 200)

Dim pt3 As New Point(85, 250)

Dim pt4 As New Point(10, 200)

Dim point() As Point = {ptl, pt2, pt3, pt4}

Dim brush As New SolidBrush(Color.Green)

e.Graphics.FillPolygon(brush, point)

Результат составленной программы отображен на рис. 5.1.

Если вас не устраивает ни один из системных цветов, можно подобрать нужный колер, используя свойство FromArgb. Аббревиатура Argb расшифровывается как alpha, red (красный), green (зеленый), blue (голубой). Первый параметр обозначает прозрачность, остальные три - цвета, которые при

Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программированияТрусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования

Рис.5.1 т Использование кисти созданной в классе SolidBrush

смешивании в нужной пропорции дают практически любой нужный оттенок. Более подробно мы рассмотрим этот способ в главе, посвященной регулировке цвета, а пока рассмотрим конкретный пример:

Private Sub Forml_Paint(ByVal sender As Object, ByVal e _

As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

e.Graphics.FilIRectangle(New SolidBrush(Color.FromArgb(255,

55, 155, 255)), _

New Rectangle(50, 50, 150, 150))

End Sub

Интенсивность цвета определяется числом от 0 до 255. Чем больше число, тем больше количество данной краски в подбираемом колере.


⇐ Предыдущая Следующая ⇒
 
 
 
Powered by Exponenta