
- •5.2. Модуль graph
- •5.2.1. Переход в графический режим и возврат в текстовый.
- •5.2.2. Инициализация графического режима
- •InitGraph (Driver, Mode, Path);
- •5.2.3. Экран и окно в графическом режиме
- •5.2.4. Рисование линий и точек.
- •5.2.5. Рисование многоугольников
- •5.2.6. Рисование дуг, окружностей, эллипсов
- •5.2.7. Краски, палитры, заполнения
- •5.2.8 Вывод текста
- •Задачи для самостоятельного решения.
- •Литература
5.2.3. Экран и окно в графическом режиме
Многие графические процедуры и функции используют указатель текущей позиции на экране, который, в отличие от текстового курсора, невидим. Положение этого указателя, как и вообще любой координаты на графическом экране, задается относительно левого верхнего угла, который, в свою очередь, имеет координаты (0,0).
Таким образом, горизонтальная координата экрана увеличивается слева направо, а вертикальная – сверху вниз.
Функция GetMaxX и GetMaxY. Функции GetMaxX и GetMaxY возвращают значения типа Word, содержащие максимальные координаты экрана в текущем режиме работы по горизонтали и вертикали соответственно.
Формат обращения к функции в программе:
X:= GetMaxX; Y:=GetMaxY;
Переменные X, Y типа Word.
Функция GetX и GetY. Функции GetX и GetY возвращают значения типа Integer, содержащие текущие координаты указателя по горизонтали и вертикали соответственно. Координаты определяются относительно левого верхнего угла окна или экрана.
Формат обращения к функции в программе:
X:= GetX; Y:=GetY;
Переменные X, Y типа Integer.
Процедура SetViewPort. Процедура SetViewPort устанавливает прямоугольное окно на графическом экране.
Формат вызова процедуры в программе:
SetViewPort (X1, Y1, X2, Y2, ClipOn);
Переменные X1, Y1, X2, Y2 типа integer - координаты левого верхнего и правого нижнего углов окна. ClipOn - выражение типа Boolean, определяющее отсечку не умещающихся в окне символов.
Координаты окна задаются относительно левого верхнего угла экрана. Если параметр ClipOn имеет значение True, то элементы изображения, не умещающиеся в пределах окна, отсекаются, в противном случае границы окна игнорируются.
Процедура MoveTo. Процедура MoveTo перемещает текущий указатель в точку с координатами X, Y.
Формат вызова процедуры в программе:
MoveTo (X, Y);
Переменные X, Y типа integer. Например, процедура MoveTo (45, 150); переместит текущий указатель в точку экрана с координатами (45, 150). Координаты определяются относительно левого верхнего угла экрана.
Процедура MoveRel. Процедура MoveRel перемещает текущий указатель на dX точек по горизонтали и на dY точек по вертикали.
Формат вызова процедуры в программе:
MoveRel (dX, dY);
Переменные dX, dY типа integer. Например, если текущий указатель находился в точке с координатами (45, 150), то процедура MoveRel (15, 10); переместит текущий указатель в точку экрана с координатами (60, 160).
Процедура ClearDevise. Процедура ClearDevise очищает графический экран и заполняет его цветом фона, заданным процедурой SetBkColor.
Формат вызова процедуры в программе:
ClearDevise;
Процедура ClearViewPort. Процедура ClearViewPort очищает графическое окно и устанавливает указатель в левую верхнюю точку окна.
Формат вызова процедуры в программе:
ClearViewPort;
Процедура GetAspectRatio. Процедура GetAspectRatio возвращает два числа, позволяющие определить соотношение сторон экрана.
Формат вызова процедуры в программе:
GetAspectRatio (X, Y) ;
Переменные X,Y типа Word.
Процедура SetAspectRatio. Процедура SetAspectRatio устанавливает масштабный коэффициент отношения сторон графического экрана.
Формат вызова процедуры в программе:
SetAspectRatio (X, Y) ;
Переменные X,Y типа Word.