Учебная работа. Реферат: Графические возможности языка Паскаль

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (24 оценок, среднее: 3,08 из 5)
Загрузка...
Контрольные рефераты

Учебная работа. Реферат: Графические возможности языка Паскаль

язык программирования Паскаль 7.0 содержит широкий набор типов, констант и функций для управления графическим режимом работы экрана, объединенных в обычный библиотечный модуль GRAPH. При помощи подпрограмм, входящих в данный модуль, можно создавать сложные графические изображения, основанные на использовании различных геометрических фигур- По мере необходимости замкнутые фигуры могут быть закрашены разными цветами и стилями (эталонами) закраски. Для вывода текстовых надписей на графический экран могут быть применены четыре штриховых и один матричный шрифт.

Подпрограммы модуля GRAPHмогут поддерживать разные типы аппаратных графических средств. Настройка на определенные технические средства осуществляется при помощи особых программ — драйверов, поставляемых совместно с данным модулем.

установка графического режима работы

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

InitGraph(varDriver, Mode:integer; Path:string),

где переменные Driverи Modeдолжны содержать тип графического драйвера и его режим работы. Допускается указать Driver=0 для автоматического определения данных характеристик по результатам тестирования аппаратуры. Параметр Pathопределяет маршрут поиска файла видеоадаптера.

Графические операторы языка Паскаль разрешают адресоваться к хоть какому элементу (пикселю) графического окна и управлять светимостью этого элемента. Для указания пикселя употребляется последующая система координат: начало координат (0,0) размещается в левом верхнем углу экрана; горизонтальная координата Xувеличивается слева вправо, вертикальная координата Yувеличивается сверху вниз. При обычном графическом адаптере VGA(в режиме 640×480) правый нижний угол экрана имеет координаты (639,479), а центр экрана — координаты (319,239).

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

язык программирования Паскаль 7.0 поддерживает 16 главных цветов, обозначаемых соответственно номерами от 0 до 15 (см. таблицу 1).

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

Константа цвета
Цвет
Константа цвета
цвет

0(Black)
Темный
8 (DarkGray)
Гемносерый

1 (Blue)
Голубий
9 (LightBlue)
Яркосиний

2 (Green)
Зеленоватый
lO(LightGreen)
Яркозеленый

3 (Cyan)
Голубой
11 (LightCyan)
Яркоголубой

4 (Red)
Красноватый
12 (LightRed)
Розовый

5 (Magenta)
Фиолетовый
13 (LightMagenta)
Малиновый

6 (Brown)
Карий
14 (Yellow)
Желтоватый

7 (LightGray)
Светлосерый
15 (White)
Белоснежный

Главными графическими операторами по работе с цветами являются процедуры модуля GRAPHпод именами SetBkColor(служит для установки цвета фона) и SetColor(для установки цвета рисования).

формат данных операторов последующий». SetBkColor (Color: Word);

SetColor (Color: word),

где переменная Color, имеющая целочисленный тип Word, служит для указания требуемого номера цвета.

К примеру, операторы SetBkColor (I); SetColor(14) разрешают установить режим рисования желтоватым цветом по голубому фону.

Создание графических объектов

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

Rectangle(xl, yl, х2, y2: integer) — служит для рисования прямоугольников, задаваемых координатами 2-ух собственных обратных углов;

Bar(xl, yl, x2, y2: integer) — служит для рисования заштрихованных прямоугольников, используя при всем этом текущий стиль и цвет штриховки;

SetFillStyle(Pattern, Color: word) — устанавливает эталон штриховки и ее цвет, где переменная Patternобозначает номер шаблона штриховки (см. таблицу 2), aColor- номер цвета штриховки (см. таблицу 1);

Circle(x, у: integer; r: Word) — отрисовывают окружность радиуса г с центром в точке (х, у); Line(xl, yl, x2, y2: integer) — отрисовывают линию от точки (xl, yl) до точки (х2, у2);

PieSHce(x, у: integer; StAngle, EndAngle, nword) — отрисовывают и заштриховывает сектор окружности радиусом г с центром в (х, у) от исходного угла StAngleк конечному углу EndAngle. При всем этом употребляется текущий стиль и цвет штриховки (см. функцию SetFillStyle);

PutPixel(x, у: integer; Color:Word) — выводит на экран точку цвета Colorс координатами (х, у);

OutTextXY(x, y:integer; TextString:string) — выводит техт TextStringв данное координатами (х, у) пространство экрана.

Таблица 2 Шаблоны штриховки

Номер
Стиль штриховки
Номер
Стиль штриховки

0
Нет штриховки
6
Наклонная на лево

1
Сплошная (заливка)
7
В клеточку по эталону +++

2
Горизонтальными линиями
8
В клеточку по эталону ххх

3
Наклонная на Право
9
Штриховка в маленькую клеточку

4
Наклонная на Право толстыми линиями
10
Редчайшими точками

5
Наклонная на лево толстыми линиями
11
Частыми точками

Обычный режим работы в среде Турбо Паскаля — текстовый. В этом режиме на экран выводятся лишь известные компу знаки.

В графическом режиме экран монитора можно разглядывать как совокупа близко расположенных точек. Точку экрана именуют пиксель либо пиксел (Pixel). Светимость этих точек может регулироваться программкой. Пикселы образуют прямоугольную таблицу — растр с нумерацией частей относительно левого верхнего угла экрана — точки с координатами (0; 0).

Для представления знаков текстовой инфы употребляется матрица с фиксированным количеством пикселов. Знакоместо всякого знака — прямоугольник размером, например, 8×8, 8×14, 8×16 и т.д.; — в знакоместо с помощью программки помещается растровое изображение знака.

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

800×600 точек, 1024×768 точек и наиболее. Чем выше разрешающая способность монитора, тем лучше изображение. Почти все видеоплаты могут работать с несколькими графическими страничками.

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

драйвер — это программка, управляющая определенным устройством ПК . Графический драйвер управляет дисплейным адаптером в графическом режиме. Графические драйверы обычно размещаются на диске в подкаталоге BGIрабочего каталога в виде файлов с расширением .BG1 (BorlandGraphicInterface).

В ТП 7.0 есть обычный библиотечный модуль Graph- библиотека подпрограмм, обеспечивающих управление графическими режимами видеоплат: CGA, EGA, VGA, MCGA, Hercules, PC3270, AT&T6300, IBM8514.

библиотека Graphсодержит около 80 графических процедур и функций, также 10-ки констант и описаний типов данных [6, 7]. Подключение модуля происходит с помощью зарезервированного слова USES (usesGraph;).

Модуль Graph- файл GRAPH.TPU. Для работы с графикой этот файл должен быть легкодоступным для компилятора, т.к. GRAPH.TPUне заходит в состав библиотеки TURBO.TPL. В поле UNITопции DIRECTORIES / OPTIONSглавного меню среды Турбо Паскаля следует указать каталог, в каком расположен файл GRAPH.TPU.

Для использования разных шрифтов при выводе текста (не считая кириллицы) необходимо скопировать файлы с расширением .CHRв рабочий каталог. При запуске программки с кириллицей скопируйте файл EGAVGA.BGIв рабочий каталог.

Неважно какая программка для работы с графикой обязана содержать блоки вызова процедуры инициализации графического режима InitGraph- корректность выполнения данной для нас процедуры проверяется функцией GraphResult(0-в случае фуррора) — и процедуры выхода из графического режима CloseGraph.

Процедуры и функции из библиотеки Graph

Воззвание действие

InitGraph (Driver, Mode, F) Инициирует графический режим работы адаптера

CloseGraphЗавершает работу адаптера в графическом режиме

RestoreCrtModeСлужит для краткосрочного возврата в текстовый режим

ClearDeviceОчищает экран, закрашивает его в цвет фона

ClearViewPortОчищает графическое окно

SetGraphMode(Mode) Устанавливает новейший графический режим работы адаптера; значения Mode- в конце

главы

SetViewPort(Xl, Yl, X2, Y2, Т) Устанавливает прямоугольное окно на дисплее: X1,Y1 — координаты левого

верхнего, Х2, Y2 — координаты правого нижнего углов окна, Т — выражение типа Boolean, определяющее

«отсечку» не умещающихся в окне частей изображения (True- «отсекать»)

SetPalette(Reg, Col) Сформировывает новое цвета

палитры)

SetAllPalette(Palette) Производит смену кодов цветности во всех регистрах палитры

SetBkColor (Color) Устанавливает цвет фона (целое число от 0 до 15)

SetColor (Color) Устанавливает цвет для выводимых знаков и линий, Color- выражение типа Word

PutPixel (X, Y, Color) Выводит точку с координатами X, Yцветом Color

Line (XI, Yl, X2, Y2) Отрисовывают отрезок полосы по коордимнатам его концов

LineRel (Xh, Yh) Вычерчивает линию от текущего положения указателя до положения, данного

приращениями его координат Xhи Yh(выражения типа Integer)

LineTo (X, Y)

Вычерчивает линию от текущего положения указателя до положения, данного его новенькими координатами

MoveRel (DX, DY) Устанавливает новое положение указателя в координатах относительно предшествующего

MoveTo (X, Y) Устанавливает новое положение указателя

OutText(Т) Выводит текст Т (не считая кириллицы), начиная с текущего положения указателя

OutTextXY (X, Y, Т) Выводит текст Т, начиная с позиции Xстроки Y

Circle (X, Y, R) Отрисовывают окружность радиуса Rтипа Wordс центром в точке с координатами (X; Y)

Ваг (XI, Y1, Х2, Y2) Заполняет прямоугольную область экрана, заданную координатами диагонали

Bar3D (XI, Yl, X2, Y2, D, Top) Чертит трехмерное изображение параллелепипеда (D-глубина) и

закрашивает его переднюю грань; Тор — выражение типа Boolean, если Тор = True, верхняя грань

вычерчивается, если False- нет

Rectangle (XI, Yl, X2, Y2) Вычерчивает прямоугольник по координатам левого верхнего и правого нижнего

углов

Arc (X, Y, А, В, R) Чертит дугу окружности: X, Y- координаты центра, А, В — исходный и конечный углы

дуги(в градусах), отсчет углов ведется против часовой стрелки^ — радиус (в пикселах);

Ellipse (X, Y, А, В, RX, RY) Чертит эллипсную дугу: X, Y- координаты центра, А, В — исходный и

конечный углы дуги (в градусах), RX, RY- горизонтальный и вертикальный радиусы

Sector (X, Y, А, В, RX, RY) Отрисовывают и штрихует сектор эллипса радиусами RXи RYс центром в точке X, Yот

угла А к углу В

SetFillStyle (Pattern, Color) Устанавливает эталон штриховки и цвет

SetLineStyle (LineStile,Pattern,Thickness) Устанавливаеттолщинуистильлинии

SetTextStyle (Font, Direction,CharSize) Устанавливает текущий шрифт (0-9), направление (по горизонтали-

0/вертикали-1) и размер знаков (0-13)

FillEllipse (X, Y, RX, RY) Отрисовывают закрашенный эллипс

FloodFill (X, Y, С) Заполняет всякую замкнутую фигуру, используя текущий стиль наполнения (узор и цвет),

X, Y- координаты точки снутри данной для нас области, С — цвет границы

FillPoly (N, Coords) Обводит линией и закрашивает замкнутый многоугольник; N — количество вершин,

Coords- переменная типа PointType, содержащая координаты вершин (см. сноску под таблицей)

Getlmage (X1,Y1, X2,Y2, Bui) Помещает в буфер памяти Bufкопию прямоугольного фрагмента

изображения

Putlmage (X,Y, Buf, ModePut) Выводит в данное пространство экрана (X,Y- координаты верхнего левого угла)

копию фрагмента изображения из буфера Buf, ModePut- метод копирования (в конце главы)

ImageSize (X1,Y1,X2,Y2) Возвращает размер памяти в б, нужный для размещения

прямоугольного фрагмента изображения

GraphResultВозвращает 0, если крайняя графическая операция выполнилась без ошибок

GraphErrorMsg (Code) Возвращает

ошибки

GetGraphModeВозвращает работы

видеоадаптера

GetXВозвращает текущую координату указателя по горизонтали / вертикали (тип Integer)

GetY

GetMaxXВозвращает наивысшую координату экрана по горизонтали / вертикали (тип Word) в текущем

режиме работы

]]>