Новости           

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности

Гостевая книга

От автора

Увеличение масштаба изображения 

              Созданием окон с различными координатами вы  можете добиться
         эффекта  увеличения масштаба графического отображения. Рассмотрим
         следующее предложение для рисования линии:
             DrawLine(0, 0, 100, 100);
         Если активная планета,  в которой рисуется данная  линия,  задана
         следующим образом
             DefineWorld(1, 0, 0, 100, 100);
         то линия  будет идти диагонально из одного угла в другой. Однако,
         если планета будет задана, как
             DefineWorld(1, 0, 0, 200, 200);
         то та же самая линия будет проходить половину дистанции из одного
         угла в другой. Графические объекты будут всегда заполнять экран в
         пропорции к системе координат планеты.  В большей планете  объект
         будет выглядеть меньше, а в меньшей будет выглядеть больше.
              Следующая программа создает эффект увеличения масштаба изоб-
         ражения в углу квадрата. Вывод программы показан на рис.10-6.

             -------------------------------------------------------
             +-------------+
             +-------------+
             +-------------+
             ¦+--+         ¦
             ¦¦  ¦         +------------+
             ¦+--+         +------------+
             ¦             +------------+
             ¦             ¦ +-----+    ¦
             ¦             ¦ ¦     ¦    +------------+
             +-------------¦ ¦     ¦    +------------+
                           ¦ +-----+    +------------+
                           ¦            ¦  +---------¦
                           ¦            ¦  ¦         ¦
                           +------------¦  ¦         ¦
                                        ¦            ¦
                                        ¦  ¦         ¦
                                        ¦  ¦         ¦
                                        +------------+

             Рис.10-6. Эффект  увеличения масштаба изображения за счет ис-
                       пользования окна

             program Windows;

             {Si typedef.sys}
             {Si graphix.sys}
             {Si kernel.sys}
             {Si windows.sys}

             var
               i: integer;

             procedure SetUpWindow;
             begin

               DefineWindow(1, 0, 0, 20, 100);
               DefineHeader(1, 'Sguare');
               DefineWorld(1, 0, 0, 400, 400);
               SelectWorld(1);
               SelectWindow(1);
               SetHeaderOn;
               SetBackground(0);
               DrawBorder;

               DefineWindow(2, 20, 40, 40, 140);
               DefineHeader(2, 'Zoom in a little');
               DefineWorld(2, 0, 0, 200, 200);
               SelectWorld(2);
               SekectWindow(2);
               SetHeaderOn;
               SetBackground(0);
               DrawBorder;

               DefineWindow(3, 40, 80, 60, 180);
               DefineHeader(3, 'Ah...much clearer');
               DefineWorld(3, 0, 0, 100, 100);
               SekectWorld(3);
               SelectWindow(3);
               SetHeaderOn;
               SetBackground(0);
               DrawBorder;
             end;

             begin
               InitGraphic;
               SetUpWindow;

               {появиться для увеличения в углу}
               for i: = 1 to 3 do
               begin
                SelectWorld(1);
                SelectWindow(1);
                DrawSguare(10, 10, 120, 120, false);
                DrawLine(10, 10, 20, 20);
               end;
               repeat until KeyPressed;
               LeaveGraphic;
             end.

(с)Все права защищены

По всем интересующим вопросампрошу писать на электронный адрес

    Rambler's Top100 PROext: Top 1000
    Rambler's Top100 Яндекс цитирования
Hosted by uCoz