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

UptoLike

105
Углы StAngle и EndAngle выражаются в радианах. Рисование происходит против движения
часовой стрелки.
Рисование дуги эллипса с центром в точке (X, Y), полуосями XRadius и YRadius, углами
начала StAngle и конца EndAngle выполняется процедурой:
Ellipse(X, Y: integer; StAngle, EndAngle : word; Radius, YRadius : word).
Углы выражаются в радианах. Рисование осуществляется против часовой стрелки. Для
StAngle = 0 и EndAngle = 2 будет нарисован полный эллипс.
Изображение закрашенного сектора круга выполняется процедурой:
PieSlice(X, Y : integer; StAngle, EndAngle : word; Radius : word).
Параметры этой процедуры имеют тот же смысл, что и в процедуре Arc, рассмотренной
выше. Шаблон закраски задается процедурой SetFillStyle (см. ниже).
Пусть, например, требуется построить сектор круга с центром в точке (319, 174), радиусом в
100 точек и представляющим собой левую нижнюю четверть круга. Для этого достаточно
выполнить процедуру PieSlice со следующими параметрами:
PieSlice (319,174,180,270,100).
Процедурой Reсtangle(X1, Y1: integer; X2, Y2: integer) будет построен прямоугольник,
противоположные вершины которого имеют координаты (X1, Y1) и (X2, Y2).
Процедура Bar(X1, Y1: integer; X2, Y2: integer) в отличие от предыдущей процедуры строит
закрашенный прямоугольник.
Допустим, необходимо построить закрашенный в синий цвет прямоугольник с
горизонтальной стороной в 200 точек, с вертикальной в 100 точек и с центром в точке (319,
174). Два следующих предложения решают эту задачу:
SetColor (1); { выбор синего цвета }
Bar(219,124, 419,224); {вычерчивание закрашенного прямоугольника}
Выбор типа линии, которой будет нарисован объект, можно выполнить процедурой:
SetLineStyle(LineStyle: word; Pattern: word; ThickNess:word);
Выбор типа линий выполняется на основании LineStyle и толщины линии по ThickNess. Если
LineStyle = UserBitLn, то тип линии выбирается по системе битов Pattern. Этот параметр
рассмотрен при описании процедуры "заливки". Тип линии может быть выражен
следующим образом:
SolidLn = 0 - сплошная линия;
DottedLn = 1 - пунктирная линия (из точек);
CenterLn = 2 - осевая линия (из точек и тире);
DashedLn = 3 - штриховая линия;
UserBitLn = 4 - линия, определяемая пользователем.
Толщина линий может быть выражена следующим образом:
NormWidth = 1 - тонкая линия;
ThickWidth = 3 - толстая линия .
Пример.
Построить прямоугольник точечной тонкой линией зеленого цвета, противоположные углы
которого имеют координаты (10,10) и (319,174).
Программа:
Program Rect;
Uses Graph;
Var
dr, mode : integer;
Begin
{ инициализация граф. экрана }
dr := detect;
InitGraph (dr, mode,'');
{ Установка тонкой (1) линии точечного типа }
Углы StAngle и EndAngle выражаются в радианах. Рисование происходит против движения
часовой стрелки.
Рисование дуги эллипса с центром в точке (X, Y), полуосями XRadius и YRadius, углами
начала StAngle и конца EndAngle выполняется процедурой:
       Ellipse(X, Y: integer; StAngle, EndAngle : word; Radius, YRadius : word).
Углы выражаются в радианах. Рисование осуществляется против часовой стрелки. Для
StAngle = 0 и EndAngle = 2 будет нарисован полный эллипс.
Изображение закрашенного сектора круга выполняется процедурой:
       PieSlice(X, Y : integer; StAngle, EndAngle : word; Radius : word).
Параметры этой процедуры имеют тот же смысл, что и в процедуре Arc, рассмотренной
выше. Шаблон закраски задается процедурой SetFillStyle (см. ниже).
Пусть, например, требуется построить сектор круга с центром в точке (319, 174), радиусом в
100 точек и представляющим собой левую нижнюю четверть круга. Для этого достаточно
выполнить процедуру PieSlice со следующими параметрами:
       PieSlice (319,174,180,270,100).
Процедурой Reсtangle(X1, Y1: integer; X2, Y2: integer) будет построен прямоугольник,
противоположные вершины которого имеют координаты (X1, Y1) и (X2, Y2).
Процедура Bar(X1, Y1: integer; X2, Y2: integer) в отличие от предыдущей процедуры строит
закрашенный прямоугольник.
Допустим, необходимо            построить закрашенный в синий цвет прямоугольник с
горизонтальной стороной в 200 точек, с вертикальной в 100 точек и с центром в точке (319,
174). Два следующих предложения решают эту задачу:
       SetColor (1);                { выбор синего цвета }
       Bar(219,124, 419,224);       {вычерчивание закрашенного прямоугольника}
Выбор типа линии, которой будет нарисован объект, можно выполнить процедурой:
       SetLineStyle(LineStyle: word; Pattern: word; ThickNess:word);
Выбор типа линий выполняется на основании LineStyle и толщины линии по ThickNess. Если
LineStyle = UserBitLn, то тип линии выбирается по системе битов Pattern. Этот параметр
рассмотрен      при описании процедуры "заливки". Тип линии может быть выражен
следующим образом:
       SolidLn = 0           - сплошная линия;
       DottedLn = 1          - пунктирная линия (из точек);
       CenterLn = 2          - осевая линия (из точек и тире);
       DashedLn = 3          - штриховая линия;
       UserBitLn = 4         - линия, определяемая пользователем.

Толщина линий может быть выражена следующим образом:
      NormWidth = 1          - тонкая линия;
      ThickWidth = 3         - толстая линия .
Пример.
Построить прямоугольник точечной тонкой линией зеленого цвета, противоположные углы
которого имеют координаты (10,10) и (319,174).
Программа:
Program Rect;
Uses Graph;
Var
      dr, mode : integer;
Begin
      { инициализация граф. экрана }
      dr := detect;
      InitGraph (dr, mode,'');
      { Установка тонкой (1) линии точечного типа }

                                                                                      105