Графические возможности объектно-ориентированного языка программирования Visual Basic 2005 (9 класс)
На форме и управляющих элементах можно рисовать линии, прямоугольники, окружности и другие графические фигуры. Для рисования необходимо определить объекты Область рисования Graphics, Перо Pen и Кисть Brush.
Область рисования.
Объект Область рисования Graphics позволяет выбрать в качестве области рисования определенный элемент управления и обладает методами рисования графических фигур. Сначала необходимо в разделе объявления переменных определить имя объекта, например:
Dim Graph1 As Graphics
Затем в программном коде обработчика события необходимо указать определенный элемент управления в качестве области рисования. Обычно в качестве области рисования выбирается размещенное на форме графическое поле (например, PictureBox1):
Graph1 = Ме.PictureBox1.CreateGraphics ()
Перо.
Объект Перо Pen определяет цвет и ширину линии рисования. Сначала необходимо в разделе объявления переменных определить имя объекта (например, Pen1), установить цвет (например, красный Color.Red) и ширину линии в пикселях (например, 3):
Dim Pen1 As New Pen(Color.Red, 3)
Затем в программном коде обработчика события можно установить новые значения цвета и ширины линии, например:
Pen1.Color = Color.Green
Pen1.Width = 15
Кисть.
Объект Кисть Brush определяет цвет и стиль закрашивания прямоугольников, окружностей и других замкнутых фигур. Сначала необходимо в разделе объявления переменных определить имя объекта (например, Brush1) и установить тип закраски и цвет (например, сплошная закраска синего цвета SolidBrush (Color.Blue) ):
Dim Brush1 As New SolidBrush (Color.Blue )
Затем в программном коде обработчика события можно установить новый цвет закраски (например, пурпурный):
Brush1.Color = Color.Magenta
Графические методы.
Графические фигуры рисуются с использованием графических методов. Замкнутые фигуры, такие как прямоугольники или эллипсы, состоят из двух частей — контура и внутренней области. Контур рисуется с использованием заданного пера, а внутренняя область закрашивается с использованием заданной кисти.
Цвет.
Цвет устанавливается как значение свойства Color. Можно установить цвет с использованием нескольких десятков цветовых констант. Ниже приведены примеры установки зеленого цвета для объекта Pen1 и желтого цвета для объекта Brush1:
Pen1.Color = Color.Green
Brush1.Color = Color.Yellow
Для установки цвета в 24-битовой палитре цветов RGB используется метод Color.FromArgb (Red, Green, Blue), аргументами которого являются три числа в диапазоне от 0 до 255 (интенсивности красного, зеленого и синего цветов). Например, так можно установить пурпурный цвет для объекта Brush1:
Brush1.Color = Color.FromArgb(255, 0 , 255)
Рисование текста.
Метод DrawString () позволяет выводить текст в область рисования. Аргументами метода является Строка текста, Шрифт, Кисть и координаты начала строки. Объекты Шрифт (например, drawFont) и Кисть (например, drawBrush) необходимо объявить:
Dim drawFont As New Font («Arial», 16)
Dim drawBrush As New SolidBrush (Color.Black)
Рисование текста в поле рисования можно осуществить так:
Graphl1.DrawString («Текст», drawFont , drawBrush, 10, 10)
Системы координат.
Рисование линий, прямоугольников и других фигур производится в компьютерной системе координат, начало которой расположено в верхнем левом углу формы или элемента управления. Ось Х направлена вправо, а ось У — вниз. Единицей измерения по умолчанию является точка (пиксель). Компьютерная система координат графического поля шириной 300 точек и высотой 200 точек приведена на рисунке ниже.
При геометрических построениях и построении графиков функций удобнее использовать математическую систему координат, начало которой обычно находится в центре области рисования. Ось Х направлена вправо, а ось У — вверх. Математическая система координат графического поля шириной 300 точек и высотой 200 точек приведена ниже:
Для преобразования компьютерной системы координат в математическую систему координат используется метод масштабирования и поворота осей ScaleTransform () и метод сдвига начала координат TranslateTransform ().
Метод Graph1.ScaleTransform(1 , — 1) обеспечивает поворот оси У.
Метод Graph1.TranslateTransform(150 , -100) обеспечивает сдвиг по оси Х на 150 точек вправо и сдвиг по оси У на 100 точек вниз.
Анимация.
Для создания анимации (иллюзии движения на экране какого-либо объекта) применяется принцип смены кадров (изображений), как это делается в мультипликации. Для этого необходимо с определенной частотой рисовать объект в поле рисования, причем координаты объекта должны каждый раз изменяться на определенную величину.
Контрольные вопросы:
- Перечислите методы рисования графических фигур и их аргументы.
- Каким образом можно изменить систему координат формы или графического поля?
- Каковы основные этапы создания анимации движения объекта?