Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по Visual Basic.doc
Скачиваний:
51
Добавлен:
31.08.2019
Размер:
10.63 Mб
Скачать

Лабораторная работа №10. Разработка приложений с использованием методов рисованИя графических примитивов

Цель работы: рассмотреть способы вывода графических изображений, операторы, используемые для создания изображений; научиться разрабатывать приложения, осуществляющие рисование изображений

Теоретическая часть

1. Графическая поверхность

Программа может вывести графику на поверхность формы или компонента PictureBox. Для того, чтобы во время работы программы на поверхности объекта появилась, например, линия, необходимо вызвать соответствующий метод. В результате выполнения инструкции

Form1.Line(10,10) – (50,10)

на поверхности формы появится линия.

Графику на поверхности объекта формирует процедура обработки события Paint, которая происходит всякий раз, когда объект появляется на экране.

М етоды, обеспечивающие вычерчивание графических примитивов (линий, прямоугольников и т.п.), рассматривают поверхность формы или компонента PictureBox как холст, на котором они могут рисовать путем изменения цвета его отдельных точек – пикселов. Положение пиксела характеризуется его горизонтальной (x) и вертикальной (y) координатами. Координаты отсчитываются от верхнего левого угла и возрастают слева направо (x) и сверху внизу (y). Точка, находящаяся в левом верхнем углу поверхности, имеет координаты (0,0) (Рис.10.1).

Координаты точек графической поверхности могут измеряться в твипах (по умолчанию; 1 твип = 15 пикселей), пикселах, миллиметрах, сантиметрах и др.

При программировании графики наиболее удобной единицей измерения является пиксел. Поэтому свойству ScaleMode (формы или компонента PictureBox) следует присвоить значение свойства Pixel (во время создания формы приложения) или vbPixels (во время работы программы).

Координаты точек можно отсчитывать от левого верхнего угла графической поверхности (абсолютная адресация) или от текущего положения указателя графического вывода (относительная адресация).

Указатель графического вывода – это графический курсор, который, в отличие от обычного текстового курсора, на экране не отображается. В начале работы программы он находится в точке (0,0), а после выполнения операции отображения графики – в той точке, в которой она была завершена. Например, после выполнения инструкции

Form1.Line(10,10) – (40,10)

указатель графического вывода будет находиться в точке (40,10).

При относительной адресации перед координатами указывается слово Step. Например, инструкция

Form1.Line(10,10) – step(30,0)

рисует из точки (10,10) горизонтальную линию длиной в 30 пикселов.

Информация о текущем положении указателя графического вывода находится в свойствах CurrentX и CurrentY.

2. Графические примитивы

Картинку, чертеж или схему можно представить как совокупность графических примитивов: точек, линий, окружностей, дуг, текста и др.

Рисование графических примитивов обеспечивают соответствующие методы (Таблица 10.1).

Таблица 10.1 – Методы рисования графических примитивов

Метод

Действие

Инструкция вызова

PSet

Рисует точку

Объект.PSet(x,y), Color

Line

Рисует линию или прямоугольник

линия

Объект.Line(x1,y1) – (x2,y2), Color

прямоугольник

Объект.Line(x1,y1) – (x2,y2), Color, B

Circle

Рисует окружность, круг, эллипс, дугу или сектор

окружность, круг

Объект.Circle(x,y),r, Color

дуга, сектор

Объект.Circle(x,y),r, Color, start, fin

эллипс

Объект.Circle(x,y),r, Color, start, fin, aspect

Print

Выводит текст

Объект.Print Строка

Метод Print был рассмотрен во второй лабораторной работе.

Параметр Color задает цвет рисуемого примитива и является не обязательным. Если он не указан, то объект будет окрашен в цвет, заданный значением свойства ForeColor графической поверхности, на которой рисует метод.

В качестве параметра Color можно использовать одну из именованных констант Visual Basic (Таблица 10.2).

Таблица 10.2 – Список именованных констант Visual Basic для параметра Color

Константа

Цвет

vbBlack

Черный

vbRed

Красный

vbGreen

Зеленый

vbYellow

Желтый

vbBlue

Синий

vbMagenta

Пурпурный (Фиолетовый)

vbCyan

Голубой (Бирюзовый)

vbWhite

Белый

Также для задания цвета можно использовать набор цветов QBasic (Таблица 10.3).

Таблица 10.3 – Список именованных констант QBasic для параметра Color

Номер цвета

Цвет

0

Черный

1

Синий

2

Зеленый

3

Бирюзовый

4

Красный

5

Темно-красный

6

Коричневый

7

Светло-серый

8

Серый

9

Голубой

10

Светло-зеленый

11

Светло-бирюзовый

12

Светло-красный (розовый)

13

Фиолетовый

14

Желтый

15

белый

В качестве параметра Color можно использовать также значение функции RGB, которая возвращает код цвета, полученного путем смешивания красной, зеленой и синей красок в указанных пропорциях. У функции RGB три параметра: доля красного цвета, доля зеленого цвета, доля синего цвета. Значение каждого диапазона должно находиться в диапазоне от 0 до 255. Например, значение RGB(205,127,50) обозначает код «золотого» цвета.

Параметры x и y обозначают координаты, от которых зависит местоположение объекта.

PSet(x,y), Color – параметры x и y задают местоположение точки

Line(x1,y1) – (x2,y2), Color - параметры x1,y1 задают координаты точки начала линии, а параметры x2,y2 – координаты точки конца линии

Circle(x,y),r, Color - параметры x и y задают координаты центра окружности.

У метода рисования Circle есть особые параметры.

Circle(x,y),r, Color: r – радиус окружности. Цвет и стиль закраски внутренней области окружности определяют соответственно свойства FillColor и FillStyle той графической поверхности, на которой рисует метод.

Circle(x,y),r, Color, start, fin: r – радиус окружности, start – задает начальную точку дуги – точку пересечения линии окружности и прямой, проведенной из центра окружности под углом start относительно оси OX, fin – задает конечную точку дуги. Дуга вычерчивается от начальной точки к конечной против часовой стрелки. Если перед параметрами start и fin поставить минус, то будет образован сектор.

Circle(x,y),r, Color, start, fin, aspect: r – задает больший радиус окружности, aspect – коэффициент сжатия (трансформации). Если значение параметра aspect меньше единицы, то эллипс получается путем сжатия окружности по вертикали, если больше – по горизонтали.