Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Координаты окна, страницы
SetViewPort (x1,y1,x2,y2,ClipOn) – процедура устанавливает прямоугольное окно на графическом экране, (x1,y1) – координаты левого верхнего, (x2,y2) – координаты правого нижнего угла окна. Координаты окна всегда задаются относительно левого верхнего угла экрана. ClipOn – логическое выражение, определяющее «отсечку» не умещающихся в окне элементов изображения. Если параметр ClipOn=True, элементы изображения, не умещающиеся в переделах окна, отсекаются, в противном случае границы окна игнорируются. Для управления этим параметром можно использовать следующие определенные в модуле константы: Сonst ClipOn=True; {Включить отсечку} ClipOff=False; {Не включать отсечку}
GetViewSettings (ViewInfo) – процедура возвращает координаты и признак отсечки текущего графического окна. Параметр ViewInfo – переменная типа ViewPortType, который определен в модуле Graph следующим образом: Type ViewPortType= record x1,y1,x2,y2:Integer; {координаты окна} Clip:Boolean; {признак отсечки} end;
MoveTo (x,y) – процедура устанавливает новое положение указателя в позиции (x,y). Координаты определяются относительно левого верхнего угла окна или, если окно не установлено, экрана.
MoveRel (dx,dy) – процедура устанавливает новое положение указателя в относительных координатах (dx,dy). Здесь dx, dy – приращения новых координат указателя соответственно по горизонтали и вертикали. Приращения задаются относительно того положения, которое занимал указатель к моменту обращения к процедуре.
ClearDevice – процедура очищает графический экран. После обращения к процедуре указатель устанавливается в левый верхний угол экрана, а сам экран заполняется цветом фона, заданным процедурой SetBkColor.
ClearViewPort – процедура очищает графическое окно, а если окно не определено к этому моменту – весь экран. Указатель перемещается в левый верхний угол окна.
GetAspectRatio (x,y) – процедура возвращает значения x,y, позволяющие оценить соотношение сторон графического экрана в пикселах. Найденный с их помощью коэффициент может использоваться для построения правильных геометрических фигур. Пример. Для построения квадрата со стороной n пиксел по вертикали, нужно использовать операторы: GetAspectRatio (Xasp,Yasp); Rectangle(x1,y1,x1+n*round(Yasp/Xasp),y1+n); Если же n определяет длину квадрата по горизонтали, используется оператор Rectangle(x1,y1,x1+n,y1+n*round(Xasp/Yasp));
SetAspeсtRatio (x,y) – процедура устанавливает масштабный коэффициент отношения сторон графического экрана. Здесь x,y – устанавливаемые соотношения сторон.
GetMaxX – функция возвращает максимальную координату экрана по горизонтали в текущем режиме работы.
GetMaxY – функция возвращает максимальную координату экрана по вертикали в текущем режиме работы.
GetX – функция возвращает текущую координату указатели по горизонтали.
GetY – функция возвращает текущую координату указатели по вертикали.
SetActivePage (номер_страницы) – процедура делает активной указанную страницу видеопамяти. Фактически процедура просто переадресует графический вывод в другую область видеопамяти. Активная страница может быть невидимой. Нумерация страниц начинается с нуля.
SetVisualPage (номер_страницы) – процедура делает видимой страницу с указанным номером. Нумерация страниц начинается с нуля. Пример работы с видеостраницами. Программа сначала рисует квадрат в видимой странице и окружность – в невидимой. После нажатия Enter происходит смена видимых страниц. Uses Graph,Crt; Var Driver, Mode:Integer; Begin Driver:=Detect; InitGraph(Driver,Mode,''); If Driver<>HercMono then SetGraphMode(Mode-1); SetActivePage(0); {заполняем видимую страницу} Rectangle(10,10,GetMaxX div 2, GetMaxY div 2); OutTextXY(0,0,'Page 0. Press Enter...'); {заполняем невидимую страницу} SetActivePage(1); Circle(GetMaxX div 2, GetMaxY div 2, 100); OutTextXY(0,0,'Page 1. Press Enter...'); {переключаемся между страницами} Readln; SetVisualPage(1); ReadLn; SetVisualPage(0); ReadLn; CloseGraph; End.
С помощью оператора If Driver<>HercMono then SetGraphMode(Mode-1); устанавливается многостраничный режим работы на адаптерах EGA, MCGA, VGA. После инициализации графики с Driver=Detect устанавливается режим работы с максимально возможным номером; перечисленные адаптеры могут работать только с одной графической страницей, чтобы обеспечить работу с двумя страницами, следует уменьшить номер режима.
Date: 2015-10-19; view: 306; Нарушение авторских прав |