Лабораторный практикум по программированию на языке Паскаль. Найханова Л.В - 104 стр.

UptoLike

104
LineRel(dX, dY: integer) - рисование отрезка прямой линии от текущего положения
графического курсора на расстояние dX по горизонтали и dY по вертикали;
LineTo(X, Y: integer) - рисование отрезка прямой линии от текущего положения
графического курсора к точке, имеющей координаты (X, Y).
После установления графического режима по умолчанию графическим окном будет весь
экран. Левый верхний угол графического экрана имеет координаты (0,0), а правый нижний
(GetMaxX, GetMaxY).
Графическое окно можно установить с помощью процедуры:
SetViewPort(X1, Y1: integer; X2, Y2: integer; Clip :boolean);
Процедура задает графическое окно в виде прямоугольника с координатами
противоположных углов (X1, Y1) и (X2, Y2). CLIP определяет, должны ли обрезаться
выходящие за пределы окна части рисунка: если этот параметр задается константой ClipOff
(или False), то не обрезать, если же константой ClipOn (или True), то обрезать.
Все графические операции выполняются в текущем графическом окне, а координаты
графического курсора отсчитываются всегда относительно левого верхнего угла окна.
Графический курсор невидим, но его текущие координаты могут быть определены с
помощью процедур GetX и GetY.
Синтаксис:
GetX : integer; GetY : integer.
Для очистки графического экрана используется процедура без параметров ClearDevice.
После очистки экрана графический курсор будет установлен в верхнем левом углу
текущего графического окна.
Процедура без параметров ClearViewPort очищает текущее графическое окно и заполняет его
цветом первой позиции цветовой гаммы.
Пример графического построения:
Пусть требуется на желтом фоне экрана размером 640х350 построить графическое окно
симметрично относительно центра экрана с размерами в два раза меньше размеров экрана,
и в этом окне построить синюю диагональную прямую и красную точку в левом нижнем
углу окна.
Программа:
Program Gra1;
Uses Graph; {вызов модуля Graph}
Var
Driver, Mode : integer;
Begin
Driver := Detect; {автоматическое распознавание карты}
InitGraph(Driver,Mode,''); {установка графического режима}
SetBkColor(14); {установка желтого цвета фона}
SetViePort(160,88,479,262,ClipOn);{выделение графического окна размером 320х175}
SetColor(1); {выбор синего цвета}
LineRel(319,174); {рисование диагонали}
PutPixel(0,174,4); { отображение красной точки }
Readln;
CloseGraph { возврат в текстовый режим }
end.
Здесь предложение READLN позволяет задержать на экране окно вывода с графическими
изображениями до тех пор, пока не будет нажата клавиша <Enter> .
Рисование окружности с центром в точке (X, Y) и радиусом Radius выполняется
процедурой Circle(X, Y: integer; Radius: word);
Рисование дуги окружности с центром в точке (X, Y), радиусом Radius, углом начала
StAngle и углом конца EndAngle, выполняется процедурой:
Arc(X, Y : integer; StAngle, EndAngle : word; Radius : word).
       LineRel(dX, dY: integer) - рисование отрезка прямой линии от текущего положения
графического курсора на расстояние dX по горизонтали и dY по вертикали;
       LineTo(X, Y: integer) - рисование отрезка прямой линии от текущего положения
графического курсора к точке, имеющей координаты (X, Y).
После установления графического режима по умолчанию графическим окном будет весь
экран. Левый верхний угол графического экрана имеет координаты (0,0), а правый нижний
(GetMaxX, GetMaxY).
Графическое окно можно установить с помощью процедуры:
       SetViewPort(X1, Y1: integer; X2, Y2: integer; Clip :boolean);
Процедура задает графическое окно в виде прямоугольника с                       координатами
противоположных углов (X1, Y1) и (X2, Y2). CLIP определяет, должны ли обрезаться
выходящие за пределы окна части рисунка: если этот параметр задается константой ClipOff
(или False), то не обрезать, если же константой ClipOn (или True), то обрезать.
Все графические операции выполняются в текущем графическом окне, а координаты
графического курсора отсчитываются всегда относительно левого верхнего угла окна.
Графический курсор невидим, но его текущие координаты могут быть определены с
помощью процедур GetX и GetY.
Синтаксис:
       GetX : integer; GetY : integer.
Для очистки графического экрана используется процедура без параметров ClearDevice.
После очистки экрана графический курсор будет установлен в верхнем левом углу
текущего графического окна.
Процедура без параметров ClearViewPort очищает текущее графическое окно и заполняет его
цветом первой позиции цветовой гаммы.
Пример графического построения:
Пусть требуется на желтом фоне экрана размером 640х350 построить графическое окно
симметрично относительно центра экрана с размерами в два раза меньше размеров экрана,
и в этом окне построить синюю диагональную прямую и красную точку в левом нижнем
углу окна.
Программа:
Program Gra1;
Uses Graph; {вызов модуля Graph}
Var
            Driver, Mode : integer;
Begin
       Driver := Detect;            {автоматическое распознавание карты}
       InitGraph(Driver,Mode,''); {установка графического режима}
       SetBkColor(14);              {установка желтого цвета фона}
       SetViePort(160,88,479,262,ClipOn);{выделение графического окна размером 320х175}
       SetColor(1);                 {выбор синего цвета}
       LineRel(319,174);            {рисование диагонали}
       PutPixel(0,174,4);           { отображение красной точки }
       Readln;
       CloseGraph                   { возврат в текстовый режим }
end.
Здесь предложение READLN позволяет задержать на экране окно вывода с графическими
изображениями до тех пор, пока не будет нажата клавиша  .
Рисование окружности с центром в точке (X, Y) и радиусом Radius выполняется
процедурой Circle(X, Y: integer; Radius: word);
Рисование дуги окружности с центром в точке (X, Y), радиусом Radius, углом начала
StAngle и углом конца EndAngle, выполняется процедурой:
       Arc(X, Y : integer; StAngle, EndAngle : word; Radius : word).

                                                                                        104