Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Графические методы




Модуль 4. Графические возможности языка Visual Basic

1. Понятие координатной системы

2. Графические методы

2.1 Основные графические методы

2.2 Способы задания цвета

2.3Примеры

3. Элементы управления, применяемые для работы с графикой

 


Без использования графики интерфейс созданного приложения будет скучным, а часто и недостаточно понятным. Графика широко применяется для выделения определенной информации на экране, для разнообразия вариантов отображения информации на экране (например, построение графиков, диаграмм), для поддержки интуитивно-понятного интерфейса приложения.

В Visual Basic графику можно применять двумя основными способами: с помощью графических методов или элементов управления.

 

 

Понятие координатной системы

При использовании графических методов или элементов управления нужно описывать, где именно на форме (в графическом поле) должен располагаться нужный элемент или нарисована геометрическая фигура, то есть необходимо задать координаты. В отличие от математики, в Visual Basic значение вертикальной координаты Y возрастает сверху вниз.

Таким образом, получаем систему координат указанного вида:

 
 

 


Стандартной единицей измерения в системе Visual Basic является твип (1/1440 дюйма). Это более точная единица измерения, чем привычные для пользователей пиксели, размер которых зависит от установленного в данный момент разрешения экрана.

 


 

Графические методы

Графические методы – это функции, которые содержатся в языке Visual Basic и вызываются во время работы приложения. Их можно применять для рисования изображений в форме, в графическом поле PictureBox, а также для объекта Printer. В среде Visual Basic с помощью графических методов можно решать уже ставшие традиционными графические задачи: «Неоновая реклама», «Мыльные пузыри», «Конфетти», «Падающий снег», «Змейка», строить орнаменты, имитировать движение геометрических фигур по разным траекториям и многое другое (как, например, в языке Basic). В то же время Visual Basic предоставляет новые возможности при работе с графикой (например, богатая цветовая палитра, разнообразные способы закраски, выбор единиц измерения, возможность установить новый масштаб, более простой способ создания анимации и др.).

Основные графические методы:

1) Сls: объект.Cls

Удаляет графические изображения, созданные в результате работы графических методов.

2) Pset: объект.Pset(X,Y) [, цвет]

Построение точки, например, команда Pset (300,100), RGB(0, 0, 255) строит точку на текущей форме с координатами x = 300, y = 100 ярко-синего цвета.

3) Point: объект.Point(X,Y) Возвращает RGB-цвет точки.

4) Line: объект.Line(X1,Y1)-(X2,Y2) [, цвет, B/BF]

Построение линии, прямоугольника (если указан параметр B), закрашенного прямоугольника (если указан параметр BF), например:

Команда Line(200, 300) – (600, 800), vbRed строит на форме линию красным цветом, а команда Line(200, 300) – (600, 800), vbBlue, В строит на форме прямоугольник (прямоугольник задается своей диагональю).

Если значения (X1,Y1) в команде не указано, то построение начнется в текущей точке, например, Line - (2000, 300).

5) Circle:Построение окружности, эллипса, дуги, сектора.

объект.Circle(X,Y), радиус [, цвет, начальн. угол, конечн. угол, коэффициент сжатия]

Здесь (X,Y) – координаты центра, начальный и конечный углы задаются в радианах для построения дуг (от 0 до 2p или от 0 до -2p) и секторов (углы должны принимать отрицательные значения), коэффициент сжатия задается для построения эллипса.

Пример: Команда Circle(1000, 1000), 300, , 3*Pi/4, Pi/3 строит дугу окружности, а команда
Circle(1000, 1000), 300, , , , 2 строит вытянутый по вертикальной оси эллипс.

6) Print: объект. Print числовое или строковое выражение

Вывод текста, начиная с текущей позиции, например, команда Print “Значение функции равно”; yвыводит на форму, начиная с текущей позиции, ответ задачи.

Если в методе Print несколько значений, они могут разделяться запятой (тогда каждое значение печатается в своей колонке, ширина которой 14 символов) или точкой с запятой (тогда значения печатаются в одной строке рядом друг с другом).

Пример:Print “y= “; y, “z= “; z

Каждый метод Print выводит значения в новую строку. Когда, вызывая новый метод Print, необходимо продолжить печать в той же строке, надо в конце предыдущей команды Print поставить запятую или точку с запятой: Print “Расстояние “; : Print s

В методе Print можно использовать функции Spc(n) (задает количество пробелов перед печатаемым значением) и Tab(n) (выполняет печать, начиная с n-ой позиции строки), например: команда Print Tab(20) “задача” печатает слово “задача”, начиная с 20-ой позиции строки.

Способы задания цвета:

1. В Visual Basic имеются встроенные константы для обозначения некоторых цветов: vbBlack, vbRed, vbGreen, vbYellow, vbBlue, vbMagenta, vbCyan, vbWhite.

2. Значение цвета можно определить также с помощью функции RGB(r, g, b),где параметры r, g, b принимают целые значения от 0 до 255 и определяют интенсивность красной, зеленой и синей составляющей цвета. Этим способом можно задать более 16 миллионов цветов. Например, следующая команда строит линию серого цвета (поровну красного, зеленого и синего компонента): Line(100, 100) – (300, 400), RGB(200, 200, 200)

3. Еще одна полезная функция для работы с цветом QBColor(c), где параметр с принимает целые значения от 0 до 15, а функция возвращает соответствующее шестнадцатеричное значение цвета. Например, команда Pset(200, 500), QBColor(4) строит на форме точку красным цветом.

Замечание: Если в графическом методе цвет явно не определен, то для построения соответствующего элемента используется цвет, указанный в свойстве ForeColor текущего объекта.

При работе с графическими методами используются свойства объектов (формы, графического поля, принтера), которые воспроизводят это изображение:

ForeColor: значение цвета точки в методе Pset и цвета границ фигур в методах Line, Circle (если цвет явно не указан в методе), а также цвет текста в методе Print.

DrawWidth: размер точки в методе Pset и толщина линий в методах Line, Circle.

DrawStyle: стиль линии в методах Line, Circle.

FillColor: цвет заполнения контура в методах Line, Circle.

FillStyle: стиль заполнения в методах Line, Circle.

Font: шрифт и размер текста в методе Print.

CurrentX, CurrentY: координаты текущей точки в методе Line и первого символа в методе Print (эти свойства задаются только в программном коде).

Например, построение треугольника, начиная с указанной текущей точки:

CurrentX=1500 : CurrentY=500

Line - (3000, 2000) : Line - (1500, 2000) : Line - (1500, 500)

AutoRedraw: перерисовка изображения. Определяет, будет ли результат работы графических методов автоматически обновляться в окне, если окно было скрыто или свернуто.

Пример1: определить, находится ли точка, на которой пользователь щелкнул мышью, внутри красного прямоугольника, нарисованного во время загрузки формы (проект «Прямоугольник»).

Private Sub Form_Load()

Form1.AutoRedraw = True

Line (100, 200)-(1500, 2500), vbRed, BF

End Sub

 

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Point(X, Y) = vbRed Then

MsgBox "Точка (" & X & "," & Y & ") находится в прямоугольнике"

Else

MsgBox "Точка (" & X & "," & Y & ") находится вне прямоугольника"

End If

End Sub

Пример2: после щелчка по кнопке Построить на форме строится линия произвольного размера и цвета. В проекте предусмотрена возможность удалить изображение.

Private Sub Command1_Click()

Randomize ‘дает возможность при каждом запуске программы генерировать с помощью ‘Rnd разные числовые последовательности

Line (Rnd * Form1.Width, Rnd * Form1.Height)-(Rnd * Form1.Width, Rnd * Form1.Height), _RGB(Rnd * 255, Rnd * 255, Rnd * 255)

End Sub

 

Private Sub Command2_Click()

Cls

End Sub

 

 

Пример3: при нажатии левой кнопки мыши на форме строятся разноцветные окружности с центром в точке положения курсора (проект «Рисунок»).

В процедуре перемещения указателя мыши MouseMove параметр Button дает возможность определить, какая кнопка мыши нажата (1 – левая, 2 – правая),
X, Y – текущие координаты курсора мыши.

Программный код:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 1 Then Circle (X, Y), 200, RGB(Rnd * 255, Rnd * 255, Rnd * 255)

End Sub

 


 


Поделиться:

Дата добавления: 2015-05-08; просмотров: 74; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты