- •Принципы генерации графических изображений.
- •Координаты формы.
- •Графические методы.
- •Создайте проект, текст которого приведен ниже и сохраните его в отдельной папке под именем График1
- •Circle (1, 2), 5 'окружность
- •Построение графиков функций.
- •Создайте самостоятельно следующий проект и сохраните его под именем График.
- •Анимация графических изображений
- •Создайте проект. Текст программы приведен ниже
Принципы генерации графических изображений.
В Windows для создания графического изображения подается сигнал о событии Paint, которое выполняется в Visual Basic одноименной процедурой.
Координаты формы.
По умолчанию начало координат (0,0) находится в верхнем левом углу формы, значение по X увеличивается вправо, значение по Y - вниз. Для задания стандартной системы координат с точкой (0,0) в середине экрана свойству ScaleTop присваивается некоторое положительное значение, а свойству ScaleHeight отрицательное значение, которые определяют диапазон значений шкалы Y.
Графические методы.
Для создания изображений используются графические методы Line (рисование линий и прямоугольников),
Circle (рисование окружностей, дуг, секторов и эллипсов)
Pset (рисование отдельных точек).
В методе Line в первых скобках заданы координаты Х и У первой точки, во вторых скобках - координаты Х и У второй точки. Координаты Х и У первой точки можно не задавать, тогда линия продолжается от текущей точки. Буква В задает рисование прямоугольника (в этом случае координаты определяют положение противоположенных углов), буква F определяет закрашивание прямоугольника. Дополнительным параметром можно задать цвет рисования.
В методе Circle в скобках задаются координаты Х и У центра. После скобок задается радиус. Используя дополнительные параметры можно рисовать дуги, сектора и эллипсы.
В методе PSet в скобке задаются координаты Х и У центра точки.
Свойство формы DrawWidth определяет толщину линий или размер точки. Свойства FillColor и FillStyle определяют соответственно цвет заполнения прямоугольника, окружности, дуги или сектора и стиль заполнения (прозрачное, крест на крест, горизонтальные линии и др.).
Пример использования графических методов
Создайте проект, текст которого приведен ниже и сохраните его в отдельной папке под именем График1
Private Sub Form_Paint()
Scale (-10, 10)-(10, -10) 'установка масштаба
Line (-10, 0)-(10, 0) 'ось X
Line (0, -10)-(0, 10) 'ось Y
Line (-8.5, 9.2)-(9.01, -2.1) 'прямая линия
Line (-5, 2)-(2, 1), RGB(0,255,0), B 'не закрашен. прямоугольник, цвет линии - зеленый
Circle (1, 2), 5 'окружность
DrawWidth = 10 'изменение ширины линии или размера точки
PSet (7, 6.5) 'точка
End Sub
Построение графиков функций.
С помощью метода Line можно рисовать графики функций. Но их лучше помещать не на форме, а в некоторой ограниченной области формы. Для этой цели служит элемент Picture. Свойства Line, Circle, Pset будут относиться к элементу Picture и записываться следующим образом: Picture.Line ()-(). Систему координат будем задавать соответственно значениям аргументов и функций.
Свойства CurrentX и CurrentY формы определяют текущие координаты точки на форме (в программе они определяют начальное положение графика функции).
Минимальные и максимальные значения на осях Х и У проставляются с помощью меток (Label) на форме (свойствам Caption меток присваиваются соответствующие значения).
Приведем пример программы для построения графика функции У = 2 * X + 3 на отрезке [-5,+4] и построим график.
Заданный отрезок определяет масштаб оси Х.
Создайте проект. Текст проекта (сохраните проект под именем График1)
Dim s As Single, p1 As Integer
Dim a As Single, b As Single
Dim x As Single
Private Sub Command1_Click()
x1=-5
x2=4
a=Abs(x1)
if Abs(x1)<Abs(x2) then a=Abs(x2)
b = FF(x1)
For x = x1 To x2 Step s
If Abs(FF(x)) > Abs(b) Then b = Abs(FF(x))
Next
Picture1.Scale (-a, b)-(a, -b)
Picture1.Cls
Picture1.Line (-a, 0)-(a, 0), RGB(0, 255, 0)
Picture1.Line (0, -b)-(0, b), RGB(0, 255, 0)
Label1.Caption = Str(-a)
Label2.Caption = Str(-b)
Label3.Caption = Str(a)
Label4.Caption = Str(b)
Picture1.CurrentX = x1
Picture1.CurrentY = FF(x1)
For x = x1 To x2 Step s
Picture1.DrawWidth = 6
Picture1.PSet (Picture1.CurrentX, Picture1.CurrentY)
Picture1.DrawWidth = p1
Picture1.Line -(x, FF(x)), RGB(255, 0, 0)
Next
End Sub
Private Sub Command2_Click()
End
End Sub
Public Function FF(x As Single) As Single
FF = 2 * x + 3
End Function