Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Построение графиков в Turbo Pascal.doc
Скачиваний:
23
Добавлен:
13.04.2015
Размер:
329.73 Кб
Скачать

Построение графиков вTurbo Pascal Общие сведения

Экран монитора делится на отдельные маленькие квадраты, которые называются пикселями. Каждый пиксель может иметь свой цвет. За счет окрашивания пикселя в различные цвета получается изображение. Положение пикселя определяется двумя координатами x и y в собственной системе координат, которую мы назовем «экранной». Начало экранной системы координат находится в левом верхнем углу экрана. Направление осей показано на рисунке.

Пиксели образуют матрицу (размер экрана) 640×480 точек (пикселей). Курсор выделяет один пиксель, но не отображается на экране. Начальное положение курсора – пиксель с координатами (0, 0).

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

Initgraph(var grdriver, grmode: integer; path: string) Инициализирует графический режим. Если grdriver=0, тогда драйвер выбирается по умолчанию. Grmode – значение кода этого драйвера в процедуре. Path – путь к драйверу.

Detectgraph(var graphdriver, graphmode: integer). Проверяет аппаратуру и определяет, какой графический драйвер, и в каком режиме используется.

Closegraph -Закрывает графический режим.

Moveto(x,y)

курсор перемещается в координату (x,y)

Lineto(x,y)

рисует прямую от курсора до координаты (x,y)

Setcolor(c)

c – код цвета. Меняет цвет изображений.

Setbkcolor(c)

c – код цвета. Меняет цвет фона

Здесь код цвета - выражение типа WORD, задающее текущий цвет символов или фона; в модуле GRAPH определены следующие константы для задания цвета:

Black

0

черный

DarcGray

8

тёмно-серый

Blue

1

синий

LigthBlue

9

ярко-синий

Green

2

зеленый

LigthGreen

10

ярко-зеленый

Сауп

3

голубой

LigthCyan

11

ярко-голубой

Red

4

красный

LigthRed

12

розовый

Magenta

5

фиолетовый

LigthMagenta

13

малиновый

Brown

6

коричневый

Yellow

14

желтый

LightGray

7

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

White

15

белый

Setlinestyle(x, y, z)(вид, образец, толщина) - устанавливает стиль вычерчиваемых линий.

Где x - вид - выражение типа word, означающее вид линии. Вид линии определяется следующими константами:

SolidLn = 0 ; {сплошная линия}

DottedLn = 1 ; {точечная линия}

CenterLn = 2 ; {штрих пунктирная линия}

DashedLn = 3 ; { пунктирная линия }

UserBitLn = 4 ; { вид линии определяется пользователем }

y - образец - выражение типа word, указывающее образец линии; для всех видов линий от 0 до 3 это значение задается равным нулю; для пользовательского вида задается собственный шаблон. z - толщина - выражение типа word, задающее толщину линии. Параметр толщина может принимать одно из двух значений:

NormWidth = 1 ;{толщина в одну точку}

ThickWidth = 3 ; {толщина в три точки}

Floodfill(x, y, c) – закрашивает в текущий цвет область экрана, ограниченную непрерывной линией цвета с. Текущий цвет и стиль задается с помощью SetFillStyle(p,c). (x, y) – координаты точки, начиная с которой, начинается закраска.

Setfillstyle(p,c) – задает текущий цвет и стиль. р – стиль (штриховка), с – код цвета.

Штриховка:

0 - фоном

1 -сплошная

2 - _ _ _

3 - ////

4 - толстыми///

5 - \\\\

6 - толстыми \\\

7 - ++++

8 - x x x

9- квадратами

10 - редкими точками

11 - частыми точками

12 - пользовательские

Arc(x, y: integer; startangle, endangle, radius: word). Рисует дугу от начального угла к конечному, (x, y) — центр.

Bar(x1, y1, x2, y2: integer). Рисует прямоугольник, используя текущий стиль и цвет.

Bar3d(x1,y1,x2,y2: integer; depth: word; top: boolean). Рисует параллелепипед, используя текущий стиль и цвет.

Circle(x, y: integer; radius: word) Рисует окружность, (x, y) — центр.

Cleardevice Очищает графический экран, устанавливая текущей точку (0,0).

Ellipse(x, y: integer; startangle, endangle, xradius, yrRadius : word). Рисует эллиптическую дугу от начального угла к конечному, (x, y) — центр.

Line(x1, y1, x2, y2: integer). Рисует прямую линию от точки (x1, y1) до точки (x2, y2).

Outtextxy(x, y: integer; textstring: string). Выводит текст на экран, начиная с точки (x, y).

Putpixel(x, y: integer; colorpixel: word). Высвечивает на экране точку (пиксель) с координатами (x, y) цветом colorpixel.

Rectangle(x1, y1, x2, y2: integer) Рисует рамку текущим цветом и типом линий.

Getmaxx: integer Возвращает максимальную горизонтальную координату x.

Getmaxy: integer Возвращает максимальную вертикальную координату y.