Строковые константы в Pascal.

В качестве значения строковой константы может выступать любая последовательность символов. Эта последовательность заключается в апострофы. Строковая константа отличается от символьной константы тем, что здесь в качестве значения константы можно ...

Процедура Writeln в Pascal

Помимо зарезервированного слова Write, для вывода сообщения на экран в Pascal используется процедура Writeln. Отличие процедуры Writeln от оператора Write заключается в том, что Writeln после вывода сообщения на экран переводит курсор на другую ...

Ввод символов с клавиатуры.

Ввод символов с клавиатуры почти не отличается от ввода чисел с клавиатуры. Для того чтобы ввести какие-то символы (буквы, знаки и т.д.) с клавиатуры необходимо для переменных использовать символьный тип данных Char.

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

Структурное программирование

Самое главное в программировании - это научиться писать четкие, логические и структурированные программы.

• Используйте осмысленные имена для переменных, процедур и функций.

• Используйте отступы ...

ФАЙЛЫ ЗАПИСЕЙ

В практике программирования часто встречаются задачи, решение которых требует большого количества относительно мало изменяемых во времени данных. Ввод данных с экрана заново при каждом счете для этих ...

Процедура 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.