Графика в VB

13 сентября 2018 - Администратор

Графика в Vb

VB обладает большим набором инструментов для отображения графических объектов. С помощью графики в программах на vb можно визуализировать решения математических задач или создавать анимацию. В этом уроке мы научимся рисовать в VB прямоугольник, эллипс, линию, точку .

Чтобы рисовать различные объекты в VB, используется элемент PictureBox, который задает на форме графическую область для рисования.

 Добавим в форму элементы Кнопка и PictureBox, в котором мы и будем рисовать.

графическая область в vb

В свойствах PictureBox во вкладке Layout в свойстве Size (размер) можно указать размеры графической области. Мы указали размер графической области 400x400 пикселей.

Получается данная форма

графическая форма

Для того чтобы начать рисовать в элементе PictureBox, необходимо привязать графический объект к данному элементу.
Dim  Название объекта As Graphics = PictureBoxНомер.CreateGraphics()
Пример:
Dim Graphics As Graphics = PictureBox1.CreateGraphics()
Создается графический объект с именем Graphics, он привязывается к элементу PictureBox1. В дальнейшем для отображения графических фигур будем работать уже с объектом Graphics.
Для отображения объектов нужно создать объект Перо с помощью команды.
Dim название пера = New Pen(Drawing.Color.(цвет), толщина линии)

В скобках задаётся цвет и толщина линии объекта Перо, которым мы будем рисовать
Пример:
Dim red = New Pen(Drawing.Color.Red, 5)
Cоздаётся красное перо с именем red с толщиной 5 пикселей.

Рисование линии в Vb.

Чтобы нарисовать линию в графической области PictureBox, нужно использовать метод DrawLine для привязанного к этой области графического объекта.
Объект.DrawLine(название пера, координата x первого конца, координата y первого конца, координата x второго конца, координата y второго конца)
Пример:
Graphics.DrawLine(red, 5, 5, 50, 50)
Рисует красную линию в графической области PictureBox1 с координатами начала x = 5, y = 5 и координатами конца x = 50, y = 50

Рисование прямоугольника в Vb

Чтобы нарисовать прямоугольник в графической области PictureBox, нужно использовать метод DrawRectangle для привязанного к этой области графического объекта. 
Объект.DrawRectangle(название пера, координата x левого верхнего угла, координата y левого верхнего угла, ширина, высота)
Пример:
Graphics.DrawRectangle(green, 50, 50, 100, 100) 
Рисует зеленый прямоугольник в графической области PictureBox1 с координатами верхнего левого угла x = 50,y =  50 шириной 100 и высотой 100

Рисование окружности и эллипса в Vb

Для рисования эллипса или окружности в Vb нужно сначала создать объект Прямоугольник, в который будет вписан эллипс.Объект Прямоугольник создаётся с помощью набора команд
Dim название прямугольника As New Rectangle
        название прямоугольника.X = координата x левого верхнего угла
        название прямоугольника.Y = координата y левого верхнего угла
        название прямоугольника.Width = ширина прямоугольника
        название прямоугольника.Height = высота прямоугольника

Пример:
Dim rectangle As New Rectangle
        rectangle.X = 100
        rectangle.Y = 100
        rectangle.Width = 100
        rectangle.Height = 50

Затем, с помощью созданного прямоугольника, рисуем вписанный в него эллипс, используя метод DrawEllipse для графического объекта, привязанного к графической области
Объект. DrawEllipse(перо, прямоугольник)
Например:
Graphics.DrawEllipse(blue, rectangle)
Рисует синий эллипс вписанный в прямоугольник rectangle
Для того, чтобы нарисовать окружность в Vb, нужно, чтобы ширина и высота прямоугольника совпадали по величине. Радиус окружности равен половине высоты.
Координата x центра окружности будет равна координате x левого верхнего угла прямоугольника + радиус окружности. Координата y центра окружности будет равна координате y левого верхнего угла прямоугольника + радиус окружности.
Пример рисования окружности в vb с координатами центра (200, 300) радиусом 50:
Dim rct As New Rectangle
        rct.X = 150
        rct.Y = 250
        rct.Width = 100
        rct.Height = 100
       Graphics.DrawEllipse(blue, rct)

Рисование закрашенного прямоугольника в Vb

Чтобы рисовать закрашенные объекты в vb, необходимо сначала создать объект Кисть SolidBrush, в котором определяется цвет заливки. Объект Кисть в Vb задается следующим образом
Dim название кисти As New SolidBrush(Drawing.Color.цвет)
Для рисования закрашенного прямоугольника используется метод FillRectangle для графического объекта, привязанного к графической области.
Graphics.FillRectangle (название кисти, координата x левого верхнего угла, координата y левого верхнего угла, ширина, высота)
Пример рисования закрашенного прямоугольника в vb
Dim Brush As New SolidBrush(Drawing.Color.Red)
Graphics.FillRectangle(Brush, 50, 50, 100, 80)

Рисует закрашенный красным цветом прямоугольник с координатами углов 50, 50 и шириной 100 и высотой 80
Полный текст программы VB для рисования всех фигур
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Graphics As Graphics = PictureBox1.CreateGraphics() 
' создание ручек для отрисовки
Dim red = New Pen(Drawing.Color.Red, 5) ' создаётся красное перо с толщиной 5 пикселей
Dim green = New Pen(Drawing.Color.Green, 5)
Dim blue = New Pen(Drawing.Color.Blue, 5)
Dim Brush As New SolidBrush(Drawing.Color.Red) 
' отрисовываем линию
Graphics.DrawLine(red, 5, 5, 50, 50) ' отрисовываем красную линию
' отрисовываем прямоугольник
Graphics.DrawRectangle(green, 50, 50, 100, 100) ' рисуем зелёный прямоугольник 
' создаём прямоугольник, с помощью которого будет отрисовываться эллипс
Dim rectangle As New Rectangle
rectangle.X = 100
rectangle.Y = 100
rectangle.Width = 100
rectangle.Height = 50
 ' отрисовка круга
Graphics.DrawEllipse(blue, rectangle)
 Dim rct As New Rectangle
rct.X = 150
rct.Y = 150
rct.Width = 100
rct.Height = 100
 Graphics.DrawEllipse(blue, rct)
 Graphics.FillRectangle(Brush, 300, 350, 350, 400)
End Sub
End Class

графика на vb

Вернуться к содержанию

Полезно почитать по теме графика в Vb
Пример графической игры на vb стрельба из пушки

Поделиться:

 
Комментарии (0)

Нет комментариев. Ваш будет первым!