Основы программирования на C++, PASCAL
Function GetMaxX;
Function GetMaxY;
Графическое окно. Область вывода изображения может быть ограничена любым прямоугольником в пределах экрана. Такая область называется графическим окном. Существует процедура, устанавливающая положение графического окна на экране.
Заголовок процедуры назначения графического окна:
Procedure SetViewPort(X1,Y1,X2,Y2: Integer; Clip: Boolean);
Здесь (X1, Y1) — координаты левого верхнего угла окна; (Х2, Y2) — координаты правого нижнего угла окна; Clip — ограничитель фигур; если Clip=True, то все построения производятся только в пределах окна, в противном случае они могут выходить за его пределы.
После установки окна координаты точек внутри него отсчитываются от верхнего левого угла.
Существует понятие графического курсора (по аналогии с символьным курсором). Но в отличие от символьного курсора графический курсор на экране не виден. Графический курсор указывает на текущую позицию на экране. При входе в графический режим координаты текущей позиции равны (0, 0).
Процедура назначения координат графического курсора:
Procedure MoveTo(X,Y: Integer);
Здесь X, Y — устанавливаемые координаты курсора. Координаты указываются относительно левого верхнего угла окна или, если окно не установлено, экрана.
Процедура поставить точку — основная процедура получения изображения, поскольку любой рисунок складывается из точек. Состояние светящейся точки определяется координатами точки на экране и цветом точки.
Заголовок процедуры выставления точки на графическом экране:
Procedure PutPixel(X,Y: Integer; Color: Word);
Здесь X, Y — координаты точки, Color — цвет точки.
Пример 1. Следующая программа устанавливает по центру экрана графическое окно размером 100х100, заливает его желтым фоном и заполняет синими точками, расположенными через 4 позиции.
Uses Graph;
Var Driver,Mode: Integer;
X,Y,Xl,Yl,X2,Y2,Xc,Yc: Integer;
Begin
{Инициализация графического режима}
Driver:=Detect;
InitGraph(Driver, Mode,'C:\TP\BGI');
{Определение координат центра экрана}
Хс:=GetMaxX Div 2;
Yc:=GetMaxY Div 2;
{Определение координат графического окна}
X1:=Хс-50
Yl:=Yc-50
Х2:=Хс+50
Y2:=Yc+50
{Установка графического окна}
SetViewPort(Xl,Yl,X2,Y2,True);
{Установка цвета фона и очистка экрана}
SetBkColor(Yellow);
ClearDevice;
{Расстановка точек в окне)