Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Понятно о Visual Basic.NET. Самоучитель.Ч2.2005...docx
Скачиваний:
46
Добавлен:
25.11.2019
Размер:
4.02 Mб
Скачать
      1. Прямоугольник

Прямоугольник – это структура типа Rectangle, принадлежащего пространству имен System.Drawing. Прямоугольник определяется парой координат своего левого верхнего угла (X и Y), шириной (Width) и высотой (Height).

Dim Прямоугольник As Rectangle

Прямоугольник.X = 20

Прямоугольник.Width = 80

Debug.WriteLine(Прямоугольник)

Этот фрагмент напечатает:

{X=20,Y=0,Width=80,Height=0}

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

Также у Прямоугольника есть несколько интересных методов, с одним из которых (Inflate) мы познакомимся.

Кроме Прямоугольника типа Rectangle в VB имеется Прямоугольник типа RectangleF, который отличается от первого тем, что его координаты и размеры имеют тип не Integer, а Single.

      1. Использование Точки и Прямоугольника в графических методах

Просмотрите еще раз варианты графических методов для рисования. Вы найдете много таких, в которых параметры обязаны иметь типы Point, PointF, Rectangle, RectangleF.

Вот пример рисования линии, прямоугольника и эллипса вариантами графических методов с использованием Точек и Прямоугольников:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim Гр As Graphics = Me.CreateGraphics

'Объявляем точки и прямоугольники:

Dim Т1, Т2 As Point

Dim П1, П2 As Rectangle

'Задаем координаты и размеры:

Т1.X = 50 : Т1.Y = 20

Т2.X = 200 : Т2.Y = 80

П1.X = 120 : П1.Y = 100 : П1.Width = 150 : П1.Height = 30

П2.X = 220 : П2.Y = 200 : П2.Width = 180 : П2.Height = 40

'Рисуем с использованием Точек и Прямоугольников:

Гр.DrawLine(Pens.Black, Т1, Т2)

Гр.DrawRectangle(Pens.Black, П1)

Гр.DrawEllipse(Pens.Black, П2)

End Sub

Пояснения: Как видите, заранее необходимо создать все нужные Точки и Прямоугольники и придать им нужные вам координаты и размеры, а затем уже можно рисовать с использованием подходящих вариантов графических методов. Здесь в методе DrawLine Точки Т1 и Т2 – начальная и конечная точки отрезка. Метод DrawRectangle рисует Прямоугольник П1. А метод DrawEllipse рисует эллипс, вписанный в Прямоугольник П2.

Inflate. Познакомимся с методом Прямоугольника Inflate. Этот метод расширяет (сужает) Прямоугольник во все стороны на заданные размеры. Так, оператор

П1.Inflate(-20, 10)

сузит Прямоугольник П1 на 20 пикселей в обе стороны по горизонтали и расширит на 10 пикселей в обе стороны по вертикали.

Разберитесь в программе:

Dim Гр As Graphics

Dim П1, П2 As Rectangle

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Гр = Me.CreateGraphics

П1.X = 200 : П1.Y = 150 : П1.Width = 150 : П1.Height = 30

П2.X = 550 : П2.Y = 150 : П2.Width = 200 : П2.Height = 10

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

П1.Inflate(30, 10) 'Изменяем размеры Прямоугольника в памяти

Гр.DrawRectangle(Pens.Black, П1) 'Рисуем измененный Прямоугольник

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

П2.Inflate(-10, 10) 'Изменяем размеры Прямоугольника в памяти

Гр.DrawRectangle(Pens.Black, П2) 'Рисуем измененный Прямоугольник

End Sub

Пояснения: Оператор П1.Inflate(30, 10) расширяет Прямоугольник П1 на 30 пикселей в обе стороны по горизонтали и на 10 пикселей в обе стороны по вертикали. Оператор П2.Inflate(-10, 10) сужает Прямоугольник П2 на 10 пикселей в обе стороны по горизонтали и расширяет на 10 пикселей в обе стороны по вертикали.

В результате нескольких нажатий на кнопку Button1 вы увидите фигуру в левой части Рис. 12 .38, а в результате нескольких нажатий на кнопку Button2 – в правой.

Рис. 12.38

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

«Компакт-диск» и «Летающая тарелка». Если диаметр самого маленького «круга на воде» будет порядка 100, а самого большого – во весь экран, и если диаметры соседних окружностей будут различаться на 2-4 пикселя, то на экране вы увидите привлекательный «компакт-диск». Сделайте его белым или золотым на черном фоне. Если получилось, то сделайте ему внутренний и наружный ободки другого цвета. А теперь «положите» диск, то есть нарисуйте его не из окружностей, а из эллипсов, сжатых по вертикали. Получится «летающая тарелка».

Меняя вместе с диаметром еще и вертикальную координату, вы получите «коническую башню».