Построение графиков в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.