Модуль GRAPH. Инициализация графического режима, страница 2

                          LineTo(X, Y) – рисует линию от текущей координаты до задан-

                          ной;   

                          LineTRel(Dx, Dy) – рисует линию от текущей координаты до за-

                          данной в прращениях.

Дуги, окружности, эллипсы 

      Процедуры: Circle(X, Y, R) – рисует окружность;

                           Arc(X, Y, <нач. угол>, <конечн. угол>, R) – рисует дугу;

                            Ellipse(X, Y, <нач. угол>, <конечн. угол>, Rx, Ry) – рисует

                           эллипс.   

.

Многоугольники 

      Процедуры: Rectangle(X1, Y1, X2, Y2) – рисует прямоугольник;

                           Bar(X1, Y1, X2, Y2) – рисует полосу;

                           Bar3D(X1, Y1, X2, Y2, <глубина>, <верхняя грань>) – рисует

                           параллелепипед;

Пример №1

Составить программу рисования линий и прямоугольников

                                 Текст программы

Program Gr_1;

 {Рисование линий и прямоугольников}

 Uses Crt,Graph;

 Var  I, Gd,Gm,ErrCode:integer;

 Begin

   Gd:=Detect;                     {Опр. номера драйвера}

   InitGraph(Gd,Gm,'D   :\TP60\BGI'); {Путь к драйверу напр. 'D:\TP60\BGI'}

   ErrCode:=GraphResult;

   If ErrCode<>grOK then Halt(1);  {Режим не удалось открыть }

   Randomize;

   {Рисование линии}

   Repeat

   {Рисуется линия в квадрате 100х100  пока не нажата любая клавиша,

   координаты линии случайны}

       SetColor(Random(GetMaxColor)+1);

       Line(Random(600),Random(400), Random(600),Random(400));

       Delay(500)

    Until KeyPressed;

    ClearDevice;

    MoveTo(1,2);

       {Пример процедуры LineRel}

    LineRel(600,400);

    Delay(2000);

    Readln;

    Repeat

       { Пример процедуры LineTo}

       LineTo(Random(600), Random(400));

       Delay(500);

     Until KeyPressed;

     readln;

     ClearDevice;

     I:=1;

     Repeat

       {Рисование прямоугольника}

       Rectangle(10+i,10+i,GetMaxX-10-i,GetMaxY-10-i);

       delay(500);

       i:=i+10;

     Until i>100;

     readln;

     CloseGraph;

  End.

Пример №2

       Составить программу рисования дуг, окружностей, эллипсов и параллелепипед;

                                 Текст программы

Program GrOkrEl;

 {Применение проц. Arc,Bar,Bard3,Ellipse,Cirle}

   Uses Graph;

   Var   Gd,Gm,ErrCode      :integer;

            Rad,I,Width             :integer;

            y0,y1,y2,x1,x2         :integer;

 Begin

   Gd:=Detect;                {Опр. номера драйвера}

   InitGraph(Gd,Gm,'D:\TP60\BGI');  {Путь к драйверу напр.   'D:\TP60\BGI'}

   ErrCode:=GraphResult;

   If ErrCode<>grOK then Halt(1);{Режим не удалось открыть }

   SetBkColor(Red);

   For Rad:=1 to 5 do  Circle(100,100,Rad*10); {Рисует окружность}

       Readln;{Рисование продолжится после нажатия кл. ENT}

       ClearDevice;

       Ellipse(200,200,0,360,30,50); {Замкнутая фигура}

       Readln;   ClearDevice;

       Ellipse(200,200,0,180,50,30); {Разомкнутая фигура}

       Readln;   ClearDevice;

          For Rad:=1 to 5 do  Arc (300,100,0,90,Rad*10);

          Readln;    ClearDevice;

                       {Применение процедуры Bar}

          Width:=10;

          For I:=1 to 5 do  Bar(I*Width,10,Succ(i)*Width,200);

          Readln;   ClearDevice;

                              {Применение процедуры Bar3D}

                 y0:=10;     y1:=60;       y2:=110;      x1:=10;       x2:=50;

                 Bar3D(x1,y0,x2,y1,10,TopOn);

                 Readln;      ClearDevice;

                 Bar3D(x1,y0,x2,y1,10,TopOff);

                 Readln;

           CloseGraph

       End.

Задание стиля рисования линий 

     Процедура: SetLineStyle(<вид>, <образец>, <толщина>)

Где:   <вид> -0 – сплошная ;

                         1 – точечная;

                         2 – штрих пунктирная;

                         3 – пунктирная;

                         4 – определяется пользователем.

        <образец> - только для линии определенной пользователем;

       <толщина> - 1 – в один пиксель;

-  3 – в 3 пикселя.

Закрашивание и штриховка областей 

     Процедура: SetFillStyle(<штриховка >, <цвет>).

Где:

         <штриховка > -0 – цвет фона;

                                     1 – сплошная;

                                     2 – линиями;