SetLineStyle(LineStyle: Word; Pattern: Word; Thickness: Word)




МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Колледж экономики, управления и права

Методические рекомендации

Для УЧЕБНОЙ практиКИ студентов

По дисциплине «Основы алгоритмизации и программирования»

Специальность

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ

Автор-составитель Шинакова С.В.

 

Ростов-на-Дону 2011


Рассмотрены на заседании Ц(П)К специальности 230105.51 Программное обеспечение вычислительной техники и автоматизированных систем

«07» апреля 2011 г. Протокол № 8

Председатель Ц(П)К _____________ Шинакова С.В.

 


Практическая работа № 6

Тема «Работа с графикой»

Цель работы

Научиться принципам работы с процедурами и функциями модуля Graph в среде программирования Turbo Pascalили Pascal ABC.

 

Задачи работы

Изучить приемы решения задач с использованием процедур и функций модуля Graph.

 

Порядок выполнения работы

3.1 В среде программирования Turbo Pascal или Pascal ABC составить и отладить программы решения задач в соответствии с указанным вариантом приложений.

3.2 Провести анализ результатов работы программы.

3.3 Составить отчет о проделанной работе.

 

Отчет о проделанной работе должен содержать

- название и цель работы;

- номер и условие своего варианта;

- текст программы;

- полученные при тестировании результаты;

- ответы на контрольные вопросы пункта 6 в соответствии с указаниями преподавателя.

Теоретические положения

Описание процедур и функций модуля Graph

Для создания графических изображений в среде Турбо Паскаль предназначен стандартный библиотечный модуль Graph. Он представляет собой библиотеку подпрограмм, которая полностью обеспечивает управление графическими режимами различных адаптеров дисплея. Библиотека содержит около 80 графических процедур и функций, а также десятки стандартных констант и описаний типов данных.

Подключение модуля Graph осуществляется с помощью зарезервированного слова USES:

USES Graph;

Чтобы запустить программу, в которой используются процедуры модуля Graph, необходимо поместить в рабочий каталог соответствующие графические драйверы-файлы с расширением.BGI, которые обеспечивают взаимодействие программ с графическими устройствами. При инициализации определенного графического режима подключается соответствующий драйвер. Для обеспечения работы программы в одном из графических режимов процедура InitGraph определяет тип адаптера и загружает соответствующий BGI-файл.

 

Процедура инициализации InitGraph( VAR GraphDriver: Integer; {тип адаптера}

VAR GraphMode: Integer; {режим графики}

VAR DriverPath: String;) {путь к драйверу}

Если GraphDriver присваивается значение константы Detect, то система переходит в режим автоопределения и инициализируется соответствующий BGI-драйвер и включается режим максимального разрешения для данного типа видеоадаптера. В GraphDriver и GraphMode при этом процедура возвратит автоматически определенные значения для этих параметров или код ошибки.

 

Процедура CloseGraph служит для удаления графического драйвера из памяти и восстановления текстового режима видеоадаптера.

 

В модуле Graph реализован механизм обнаружения ошибок и генерирования сообщений об ошибках с помощью функций GraphResult и GraphErrorMsg.

Функция GraphResult: Integer возвращает 0, если последняя графическая операция выполнилась без ошибок, или число в диапазоне от -15 до -1, если ошибка имела место.

 

Построение изображений на экране

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

Определение значений максимальных координат экрана в модуле Graph реализовано с помощью функций

GetMaxX: Integer

GetMaxY: Integer

 

Процедура MoveTo (X, Y: Integer) перемещает текущий указатель в точку с координатами X, Y.

Процедура MoveRel (dX, dY: Integer) перемещает текущий указатель на dX точек по горизонтали и на dY точек по вертикали относительно последнего положения текущего указателя.

Для определения текущего положения графического курсора используются функции

GetX: Integer

GetY: Integer

 

Процедура PutPixel (X, Y: Integer; Color: Word) отображает на экране точку с заданными координатами X, Y и цветом C.

 

Процедура Line (X1, Y1, X2, Y2: Integer) выводит на экран отрезок прямой с координатами начальной (X1, Y1) и конечной (X2, Y2) точек.

Для построения отрезков применяются ещё две процедуры:

LineTo(X,Y) строит отрезок из точки текущего положения указателя до точки с координатами (X,Y)

 

LineRel(dX,dY) строит отрезок от точки текущего положения указателя до точки с координатами, отстоящими на расстоянии dX по горизонтали и dY – по вертикали.

 

Установка стиля линии производится процедурой

SetLineStyle(LineStyle: Word; Pattern: Word; Thickness: Word)

Параметром LineStyle задается тип строки, Pattern- шаблон, Thickness- толщина линии.

Константа Значение Характеристика линии
SolidLn   Сплошная
DottedLn   Пунктирная
CenterLn   Штрих- пунктирная
DashedLn   Штриховка
UserBitLn   Заданная пользователем
NormWidth   Нормальной толщины
ThickWidth   Большой толщины

 

Если параметр LineStyle не равен UserBitLn, то параметр Pattern не используется и обычно задается равным нулю.

 

Процедура Rectangle (X1, Y1, X2, Y2: Integer) строит прямоугольник на плоскости

(X1, Y1) –координаты верхнего левого угла, (X2, Y2)- координаты правого нижнего угла прямоугольника

 

Процедура Bar (X1, Y1, X2, Y2: Integer) рисует прямоугольник, внутренняя область которого залита по текущему шаблону. Данная процедура обычно используется в деловой графике для построения столбиковых диаграмм.

 

Процедура Bar3D (X1, Y1, X2, Y2: Integer; D3: Word; Top: Boolean) рисует параллелепипед, “лицевая” сторона которого залита по текущему шаблону, а глубина задается в пикселях параметром D3. Параметр Top задает режим отображения верхней плоскости: True- отображать, False- не отображать. Этот параметр необходим для рисования столбцов, расположенных “один на другом”.

 

Процедура Circle(X, Y: Integer; Radius: Word) рисует окружность (X, Y) –координаты центра окружности, Radius- ее радиус

 

Процедура Arc (X, Y: Integer; StEngle, EndEngle, Radius: Word) рисует дугу (X, Y) –координаты центра окружности дуги, StEngle и EndEngle- начальный и конечный углы, отсчитываемые от горизонтальной оси против часовой стрелки, Radius- радиус.

 

Процедура Ellipse (X, Y: Integer; StEngle, EndEngle: Word; XR, YR: Word) рисует дугу (X, Y) –координаты центра эллипса в дисплейных координатах, StEngle и EndEngle - начальный и конечный углы, отсчитываемые от горизонтальной оси против часовой стрелки, XR и YR – горизонтальная и вертикальная оси.

 

5.3 Установка цвета и стиля заполнения

Для установки цвета изображения и фона применяются процедуры:

SetColor (Color: Word) задает цвет, который будет использоваться процедурами графического вывода.

SetBkColor (Color: Word) задает новый цвет фона

 

Номер цвета задается параметром Color

Константа Значение Цвет на экране монитора
Black   Черный
Blue   Синий
Green   Зеленый
Cyan   Голубой
Red   Красный
Magenta   Малиновый
Brown   Коричневый
LightGray   Светло-серый
DarkGray   Темно-серый
LightBlue   Светло-синий
LightGreen   Светло-зеленый
LightCyan   Светло-голубой
LightRed   Светло-красный
LightMagenta   Светло-малиновый
Yellow   Желтый
White   Белый

 

В модуле Graph содержится ряд стандартных шаблонов различных узоров для заполнения внутренних и внешних областей различных геометрических фигур. Узор может быть окрашен в допустимые для установленной палитры цвета. Комбинацию узор-цвет называют стилем заполнения.

Процедура SetFillStyle(Pattern: Word; Color: Word) устанавливает маску Pattern и ее цвет Color, т. е. определяет стиль заполнения.

Параметр Pattern может иметь следующие значения:

Константа Значение Описание узора
EmptyFill   Сплошной цветом фона
SolidFill   Сплошной текущим цветом
LineFill   Типа
LtSlashFill   Типа ///нормальной толщины
SlashFill   Типа ///удвоенной толщины
BkSlashFill   Типа \\\нормальной толщины
LtBkSlashFill   Типа \\\удвоенной толщины
HatchFill   Заполнение клеткой
XHatchFill   Заполнение косой редкой клеткой
InterLeaveFill   Заполнение косой частой клеткой
WideDotFill   Заполнение редкими точками
CloseDotFill   Заполнение частыми точками
UserFill   Определяется пользователем


Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-29 Нарушение авторских прав и Нарушение персональных данных


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