Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

Перевод числа из десятичной системы счисления в шестнадцатеричную.

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 0 до 15 и преобразует его к шестнадцатеричной системе счисления. Напомню, что в шестнадцатеричной системе счисления числа в диапазоне от 0 до 9 соответствуют таким же числам в ...

Использование вложенного оператора If.

Условные операторы в Pascal можно вкладывать друг в друга. Для этого используется вложенный оператор IF. Рассмотрим это на примере программы, которая будет считать количество корней квадратного уравнения.

Циклы и массивы

Вложенный арифметический цикл.

Под вложенным арифметическим циклом понимают такую алгоритмическую структуру, при которой в тело одного цикла с параметром включен другой цикл со своим параметром.

Массивы. Регулярные типы.

В простых типах данных каждое данное имеет свое название (идентификатор). В этом разделе вводится структурная взаимосвязь между данными, хранимыми в оперативной памяти путем организации массива, ...

Процедура SetViewPort  устанавливает на экране прямоугольное окно. Это прямоугольное окно является активным по отношению ко всему экрану. Различные процедуры, рисующие на экране геометрические фигуры или выводящие на экран текст, будут действовать только внутри окна.

 Использование процедуры SetViewPort.





Program Graphika25;
Uses Graph;
var x,y:integer;
Procedure Graphinterface;
Var  gd, gm, error:Integer;
s:String;
Begin
gd:=detect;
s:='';
Initgraph(gd,gm,s);
error:=GraphResult;
if error<>GrOk then
begin
writeln(GraphErrorMsg(Error));
Halt(error)
end
end;
begin
Graphinterface;
setviewport(100,100,300,300,clipoff);
setcolor(5);
circle(0,0,100);
readln;
closegraph
end. 




В строке №20 записываем процедуру SetViewPort. Данная процедура устанавливает окно в графическом режиме Паскаля, которое является активным окном по отношению ко всему экрану. Процедура SetViewPort имеет 5 параметров. Первые 2 параметра определяют координаты левого верхнего угла окна (в нашем примере 100,100).  3-й и 4-й параметры определяют координаты правого нижнего угла (в нашем примере 300,300). Пятый параметр может принимать только 2 значения.  СlipOn – означает, что элементы изображения, которые не умещаются в пределах окна, установленного процедурой SetViewPort, будут отсекаться. Clipoff означает, что изображения будут полностью вырисовываться на экране, даже если они не умещаются в окне, установленном процедурой SetViewPort (в нашем примере 5-й параметр имеет значение ClipOff). После построения окна с помощью процедуры SetViewPort все изображения на экране будут строиться, опираясь на это окно. В частности, теперь начало координат находится в левом верхнем углу окна, построенного с помощью процедуры SetViewPort, а не всего экрана.

Строка №22. Рисуем окружность. Обратите внимание, что координаты центра окружности имеют значение (0,0). Т.е. центр окружности будет находиться в левом верхнем углу окна, построенного с помощью процедуры SetViewPort. Следует сказать, что само окно на экране не видно, поэтому на рис. снизу показана схема построения этого окна и окружности.

Procedura SetViewPort

Прямоугольник ABCD – окно, построенное с помощью процедуры SetViewPort. На экране монитора это окно будет невидимым. После построения окна, начало координат сместится в точку B (с реальными координатами 100,100). Поэтому окружность, которую мы построили (строка №22) имеет координаты центра (0,0), т.е. совпадает с левым верхним углом окна (реально, центр окружности имеет координаты (100,100)).

Procedura SetViewPort.

Procedura SetViewPort..

Теперь изменим 5-й параметр процедуры SetVIewPort на Clipon. Т.е. отсечем изображение, выходящее за пределы окна, установленного процедурой SetViewPort. Строка №20 будет иметь вид: setviewport(100,100,300,300,clipon);.

Procedura SetViewPort...

Как видите, изображение, находящееся за пределами окна, исчезло.


Предыдущая статья : Функции GetX и GetY.

Оглавление : Уроки Паскаль. Графика.

Следующая статья : Построение системы координат.


   ГлавнаяПаскальГрафика в ПаскальПроцедура SetViewPort.