Ответы на экзаменационные вопросы № 1-34 по дисциплине "Программирование" (Средства модульного программирования в системе Турбо-Паскаль. ООП. Объекты в динамической памяти), страница 20

Program grafika;  uses graph;  var gd, gm, errorcode: integer;  ga:string; Begin  gd:=detect;  ga:='d:\bp\bgi';  initgraph(gd, gm, ga);  errorcode:=graphresult;  if errorcode <> 0 then  begin  write(errorcode);  halt(1);  end;  readln;  closegraph; End.

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

Текущий указатель.

Текущий указатель в графическом режиме играет ту же роль, что и курсор в текстовом режиме, однако, в отличие от курсора он невидим. Многие графические процедуры и функции используют текущий указатель, например, функции GetX и GetY.

Графические примитивы.

PutPixel(X, Y, Color)

Выводит на экран точку с заданными координатами и цветом; положение текущего указателя не изменяется.

MoveTo(X, Y)

Перемещает текущий указатель в точку с заданными координатами.

LineTo(X, Y)

Рисует отрезок прямой линии от точки, в которой находится текущий указатель, в точку с заданными координатами. Текущий указатель перемещается в точку (X, Y).

Line(X1, Y1, X2, Y2)

Рисует отрезок между точками (X1, Y1) и (X2, Y2). Положение текущего указателя не изменяется.

LineRel(Dx, Dy)

Рисует отрезок от точки, в которой находится текущий указатель, в точку с приращением координат Dx и Dy. Текущий указатель перемещается в конец линии.

Rectangle(X1, Y1, X2, Y2)

Прямоугольник (только контур)

Bar(X1, Y1, X2, Y2)

Закрашенный прямоугольник. Для закрашивания используется текущий цвет и стиль заливки.

Bar3d(X1, Y1, X2, Y2, h, Top)

Объемная прямоугольная полоса толщиной h. Логический параметр Top указывает, нужно ли изображать верхнюю грань (TopOn  или TopOff).

Circle(X, Y, Radius)

Окружность.

Arc(X, Y, StAngle, EndAngle, Radius)

Дуга. (начальный и конечный углы задаются в градусах)

Ellipse(X, Y, StAngle, EndAngle, XRadius, Yradius)

Дуга эллипса. Полный эллипс, если начальный угол 0, а конечный – 360.

FillEllipse(X, Y, XRadius, Yradius)

Эллипс, закрашенный текущим цветом и типом штриховки.

PieSlice(X, Y, StAngle, EndAngle, Radius)

Заштрихованный сектор круга.

Sector(X, Y, StAngle, EndAngle, XRadius, Yradius)

Заштрихованный сектор эллипса.

DrawPoly(N, ArrayOfPoint)

Ломаная линия,  имеющая N вершин, координаты которых заданы в массиве записей ArrayOfPoint

FillPoly(N, ArrayOfPoint)

Закрашенный полигон.

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

В модуле graph содержится достаточно большое количество процедур и функций, осуществляющих работу с точками и графическими примитивами. Рассмотрим некоторые из них.  

1) процедура putpixel(X,Y,C);  

выводит на экран точку цветом C с координатами (X,Y);  

2) процедура line(X1,Y1,X2,Y2);  

вычерчивает отрезок текущего цвета и типа с концами в точках (X1,Y1), (X2,Y2).  

Тип линии можно установить с помощью процедуры  

setlinestyle(<вид>,<образ>,<толщина>); (см. контекстную помощь)  

3) процедура lineto(X,Y);  

вычерчивает отрезок текущего типа и цвета от текущей позиции курсора до точки с координатами (X,Y).  

Получить информацию о текущем положении графического курсора можно при помощи функций getx и gety (см. систему помощи).  

Переместить графический курсор в точку с заданными координатами можно при помощи процедуры moveto(X,Y);  

4) процедура rectangle(X1,Y1,X2,X2);  

вычерчивает прямоугольник с диагональными вершинами (X1,Y1) и (X2,Y2) линией текущего типа и цвета.