Реферат

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

Работа добавлена на сайт bukvasha.net: 2015-10-28

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 5.2.2025



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

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

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

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

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

InitGraph(var Driver, Mode:integer; Path:string),

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

Графические операторы языка Паскаль позволяют адресоваться к любому элементу (пикселю) графического окна и управлять светимостью этого элемента. Для указания пикселя используется следующая система координат: начало координат (0,0) располагается в левом верхнем углу экрана; горизонтальная координата X увеличивается слева направо, вертикальная координата Y увеличивается сверху вниз. При стандартном графическом адаптере VGA (в режиме 640x480) правый нижний угол экрана имеет координаты (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) - служит для рисования прямоугольников, задаваемых координатами двух своих противоположных углов;

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

SetFillStyle(Pattern, Color: word) - устанавливает образец штриховки и ее цвет, где переменная Pattern обозначает номер шаблона штриховки (см. таблицу 2), a Color - номер цвета штриховки (см. таблицу 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).

Для представления символов текстовой информации используется матрица с фиксированным количеством пикселов. Знакоместо каждого символа - прямоугольник размером, к примеру, 8x8, 8x14, 8x16 и т.д.; - в знакоместо при помощи программы помещается растровое изображение символа.

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

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

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

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

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

Модуль 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) Формирует новое значение Col в регистре с номером Reg (установка одного цвета

палитры)

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) Возвращает значение типа String с текстовым сообщением об ошибке; Code - код

ошибки

GetGraphMode Возвращает значение типа Integer, в котором содержится код текущего режима работы

графического адаптера

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

GetY

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

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

1. Реферат Античность 4
2. Реферат Причины развода
3. Реферат Функции и виды цен 2
4. Реферат на тему Delinquent Essay Research Paper Marquis SmithDelinquentYour English
5. Статья на тему Русское искусство конца XIXначала XX века
6. Реферат на тему Dna Essay Research Paper FetalSurgeryFetal surgery itself
7. Сочинение на тему Гумилев н. с. - Лирический герой н. с. гумилева
8. Реферат на тему The Csa Essay Research Paper What If
9. Реферат на тему AIDS Essay Research Paper AIDSHIV andor AIDS
10. Реферат Рынок услуг связи