Графика в 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 левого верхнего угла, координата 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 задается следующим образjv

Dim название кисти As New SolidBrush(Drawing.Color.цвет)

Для рисования закрашенного прямоугольника используется метод FillRectangle для графического объекта.

Graphics.FillRectangle (название кисти, координата x левого верхнего угла, координата y левого верхнего угла, координата x правого нижнего угла, координата y правого нижнего угла)

Пример:

Dim Brush As New SolidBrush(Drawing.Color.Red)

Graphics.FillRectangle(Brush, 50, 50, 100, 80)

Рисует закрашенный красным цветом прямоугольник с координатами углов 50, 50 и100, 80

Полный текст программы:

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 = 250

rct.Width = 100

rct.Height = 100

 Graphics.DrawEllipse(blue, rct)

 Graphics.FillRectangle(Brush, 300, 350, 350, 400)

End Sub

End Class

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

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

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