Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Степан / Информатика / Паскаль (Попов).doc
Скачиваний:
56
Добавлен:
20.04.2015
Размер:
828.93 Кб
Скачать

8. Графика

Графический режим ПК зависят от типа монитора и видиоадаптера. Мы будем использовать лучший доступный в Паскале режим: VGA, максимальное разрешение 640х480 точек (пикселей), 16 цветов. Соответствующий драйвер находится в файле EgaVga.bgi. Графический режим определяет команда

InitGraph(драйвер, мода, путь к файлу драйвера)

где: драйвер – номер драйвера (для VGA – 9), мода – номер режима (для 640х480 – 2), путь к файлу драйвера на диске.

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

Возврат в текстовый режим экрана осуществляется оператором:

CloseGraph.

Паскаль располагает функциями, позволяющими осуществлять элементарные графические построения:

GetMaxY

Вертикальный размер экрана по оси Y(в режимеVGA=479, поскольку отсчет точек от 0).

GetMaxX

Горизонтальный размер экрана по оси X (в режиме VGA=639, поскольку отсчет от 0).

MoveTo(x,y)

Переместит курсор в позицию x,y.

MoveRel(dx,dy)

Переместит курсор от текущей точки на расстояние dx,dy

ClearDevice

Очищает экран.

PutPixel(x,y,цвет)

Выводит заданным цветом точку в координатах x,y.

Line(x1,y1,x2,y2)

Проводит прямую от точки с координатами x1,y1 доx2,y2.

LineTo(x,y)

Проводит прямую от текущей точки до точки с координатами x,y.

LineRel(dx,dy)

Проводит прямую от текущей точки на расстояние dx,dy.

Rectagle(x1,y1,x2,y2)

Контур прямоугольника с координатами левого верхнего (x1,y1) и правого нижнего (x2,y2) углов.

Bar(x1,y1,x2,y2)

Закрашивает прямоугольную область с координатами левого верхнего (x1,y1)

и правого нижнего (x2,y2) углов, установленным командойSetFillStyle, цветом.

Cyrcle(x,y,r)

Строит круг с центром в точке x,y и радиусомr.

Ellipse(x,y,угол1,

угол2,Rx,Ry)

Строит эллиптическую дугу с центром в точке x,y от начального угла1 (в градусах)

до угла2. RxиRyзадают горизонтальный и вертикальный радиусы эллипса.

PieSlice(x,y,

угол1, угол2,r)

Строит сектор круга с центров в точке х,у радиусом rот угла1 (в целых градусах) до угла2.

Заполнение и закрашивание секторов осуществляется функцией SetFillStyle.

SetFillStyle(

заполнение,цвет)

Тип (0 нет, 1 сплошное, 2 горизонтальное, 3 штриховка /, 4 толстая штриховка /, 5 толстая штриховка\, 6 штриховка \, 7 +, 8x, 9 клетка, 10 точки, 11 частые точки) и цвет заполнения фигур.

SetColor(цвет)

Устанавливает текущий цвет линий и символов: Black– 0,Blue– 1,Green– 2,Cyan– 3,Red– 4,

Magenta – 5, Brown – 6, LightGray – 7, DarkGray – 8, LightBlue – 9, LightGreen – 10, LightCyan – 11, LightRed – 12, LightMagenta – 13, Yellow – 14, White – 15.

SetBkColor(цвет)

Устанавливает текущий цвет фона.

SetLineStile(тип,

вид, толщина)

Устанавливает стиль линий. Тип: 0 – сплошная линия, 1– точечная,

2 – штрих-пунктир, 3 – пунктир. Вид: 0. Толщина: 1 или 3 пикселя.

Пример 8-1. Нарисовать на экране: 1). Две диагонали, пересекающиеся в центре. 2) Четыре концентрических окружности с центрами в центре экрана и радиусами 50, 100, 150, 200. Отсчет экранных координат начинается с левого верхнего угла: X – вправо, Y – вниз.

program P8_1

uses graph;