Графические возможности языка Visual Basic

 

На форме или в графическом поле можно рисовать различные графические примитивы с использованием графических методов. В табл. 6 приведены примеры использования этих методов. В качестве объекта object, куда выводятся графические примитивы, может служить сама форма (в этом случае имя объекта Form можно не указывать) или графическое окно PictureBox.

 

Таблица 6.Графические примитивы

Наименование Синтаксис и комментарии
Точка object.Pset (X,Y), С X,Y – координаты точки, С – цвет.
Окружность object.circle (X, Y) , R, С X, Y – координаты центра в выбранной системе координат, R – радиус, C – цвет.
Дуга окружности object.circle (X, Y) , R, С, А, В X, Y – координаты центра, R – радиус, C – цвет. A, B – углы дуги в радианах. дуга строится против часовой стрелки от А к В.
Круговой сектор object.circle (X, Y) , R, С, –А, –В Минус перед углами означает, что из центра к концам дуги строятся отрезки прямых, образуя угловой сектор.
Овал object.circle (X, Y) , R, С, , , K K – коэффициент сжатия овала. При 0 < K< 1 сжатие по горизонтали, при K>1 – по вертикали.
Отрезок линии object.Line (Xl,Y1) –(X2,Y2), С XI, Yl – координаты точки начала отрезка, Х2, Y2 – его конца, С – цвет.
Прямоугольник object.Line(Xl,Y1) –(X2,Y2), С, В XI, Yl — координаты левой верхней вершины пря­моугольника, Х2, Y2 — координаты правой нижней вершины, С – цвет.
Прямоугольник закрашенный object.Line (Xl,Y1) –(X2,Y2), С, ВF XI, Yl — координаты левой верхней вершины пря­моугольника, Х2, Y2 — координаты правой нижней вершины, С – цвет.
Очистка нарисованного object.Cls
Возвращение цвета точки с указанными ко­ординатами object.Point (X,Y)
Вывод строки символов object.Print [output] В качестве output может быть строковое или чи­словое выражение. Вывод осуществляется от последней построенной точки изображения. Для указания точки вывода можно использовать метод Pset(X,Y).
Масштабирование окна вывода object.Scale (XI, Yl) – (X2,Y2) (XI, Yl) и (X2,Y2) – «мировые» координаты выводимого изображения, левой верхней и правой нижней вершины окна соответственно

 

 

При построении изображения в графическом окне или на самой форме важным является выбор масштаба по вертикальной и горизонтальной осям. Масштаб устанавливается с помощью метода Scale. Ниже приведен пример процедуры, с помощью которой в графическое окно Picture1 при нажатии кнопки Command1 выводится график функции y=ex×Sin(2px) на отрезке –1< x<1. Результат показан на рис. 16, а текст процедуры – на рис. 17.

 
 

 


Рис. 16. Пример построения графика функции в графическом окне.

 

 
 


Private Sub Command1_Click ( )

Const Pi = 3.141529

Picture1.Scale (-1, 2) - (1, -2) ‘ масштабирование окна вывода

Picture1.Line (-1, 0) - (1, 0) ‘ построение оси «Y»

Picture1.Line (0, -2) - (0, 2) ‘ построение оси «X»

For I = -1 To 1 Step 0.25

Picture1.PSet (I, 0) ‘ вывод числовых значений под осью «X»

Picture1.Print I

Next I

For I = -3 To 3

Picture1.PSet (0, I) ‘ вывод числовых значений рядом с осью «Y»

Picture1.Print I

Next I

For X = -1 To 1 Step 0.002

Y = Exp (X) * Sin (2 * Pi * X) ‘ вывод точек графика функции Y(X)

Picture1.PSet (X, Y)

Next X

End Sub

 

Рис. 17. Текст программы построения графика функции

 

При выводе текста в графическое окно можно задавать тип и размер шрифта, а также цвет выводимых символов и линий. Для этого используются свойства объекта FontName , FontSize и ForeColor. Кроме того, свойство FontTransparent позволяет сдедать текст «прозрачным», то есть не закрывающим линии графика.

Программно цвет можно задать тремя способами.

1) Используя константы цветов (табл.7). В этом случае цвет указывается непосредственно, например: Form1.ForeColor = vbRed

 

Таблица 7. Константы цветов

 

Константа Цвет
vbBlack Черный
vbWhite Белый
vbRed Красный
vbBlue Синий
vbGreen Зеленый
vbYellow Желтый
vbCyan Голубой
vbMagenta Фиолетовый

2) С помощью функции rgb (Red-Green-Blue). Зна­чение каждого из цветов меняется от 0 до 255. Например,

Form1.ForeColor = RGB( 255, 0, 0)

означает, что цвет символов будет ярко-красный.

Для закрашивания фигур используются свойство FillColor объектов Form и PictureBox. Цвет задается так же, как и для линий – либо с помощью констант цветов, ли с помощью функции RGB.

Кроме цвета, можно указать и способ закрашивания (свойствоFillStyle). В табл.8 приведены значения этого свойства и описание способа закрашивания.

 

Таблица 8. Значения свойства FillStyle.

 

Значения Описание Пример
Сплошная закраска цветом, указанным в свойстве FillColor
Графический объект не закрашивается (значение по умолчанию)  
Горизонтальные линии
Вертикальные линии
Диагональные линии снизу вверх
Диагональные линии сверху вниз
Прямоугольная сетка
Диагональная сетка

 

При рисовании линий и контуров также можно задавать толщину и стиль. Для отрезков прямых используются свойства DrowWidth иDrowStyle, для окружностей и прямоугольников –BorderWidth и BorderStyle. Ширина задается в пикселах, для указания стиля используются числа от 0 до 5, в соответствии с табл.9.

 

 

Таблица 9. Значения свойства DrowStyle.

 

Значения Описание Пример
Сплошная линия _____________
Длинный пунктир — — — — —
Короткий пунктир – – – – –– – –
Двойной пунктир — - — - — - —
Вариант пунктира — - - — - - —

 

При построении окружностей, эллипсов, круговых дуг и круговых секторов используется метод Circle объектов Form и PictureBox.

В качестве примера на рис. 12 приведен текст процедуры, в результате работы которой на экранной форме рисуются окружность, эллипс, дуга и круговой сектор.

 

 
 


Private Sub Form_Click()

Form1.BackColor = vbWhite

Form1.Scale (0, 10)-(10, 0)

DrawWidth = 2

pi = 3.141529

Form1.Circle (2, 7), 1 ' окружность

Form1.Circle (5, 7), 1, , , , 2 ' эллипс К = 2

Form1.Circle (8, 7), 1, , , , 0.5 ' эллипс К = 0,5

Form1.Circle (2, 4), 1, , 0, pi ' дуга от 0 до pi

Form1.Circle (5, 4), 1, , 0, pi / 2 ' дуга от 0 до pi / 2

Form1.Circle (8, 4), 1, , -0.00001, -pi / 2 ‘ круговой сектор

 

DrawWidth = 1 ' построение координатных линий

DrawStyle = 1

' Form1.Line (8, 0)-(8, 10)

Form1.Line (5, 0)-(5, 10)

Form1.Line (2, 0)-(2, 10)

Form1.Line (0, 4)-(10, 4)

Form1.Line (0, 7)-(10, 7)

End Sub

 

 

Рис. 18. Текст программы построения графика функции

 

Примечание. Следует обратить внимание на то, что при построении сектора, соответствующего дуге от 0 до pi/2, начальный угол задан не нулевым, а очень малым отрицательным числом. Если вместо него подставить 0, сектор построен не будет.

 

 

Результаты работы программы представлены на рис.19.

 

 


 

Рис. 19. Фигуры, построенные с помощью программного кода рис.18

 








Дата добавления: 2016-02-11; просмотров: 1631;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.017 сек.