Графика в VB

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

Графика в Vb

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

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

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

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

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

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

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

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

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

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

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

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

Чтобы рисовать закрашенные объекты, необходимо сначала создать объект кисть SolidBrush, в котором определяется цвет заливки. Объект кисть в Vb задается следующим образом
Dim название кисти As New SolidBrush(Drawing.Color.цвет)
Для рисования закрашенного прямоугольника используется метод FillRectangle для графического объекта.
Graphics.FillRectangle (название кисти, координата x левого верхнего угла, координата y левого верхнего угла, ширина, высота)
Пример:
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)

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