Практика программирования (Бейсик, Си, Паскаль)



         

Определение области графического вывода и выбор системы координат


По умолчанию областью вывода графики является весь экран. 0днако каждая из систем программирования позволяет объявить зоной вывода некоторую прямоугольную область, выход за пределы которой обычно заблокирован, но может быть и разрешен, если вы отключите режим отсечения. Последняя возможность предусмотрена только в рамках BGI-пакета.

В системе QBasic область графического вывода переопределяется оператором VIEW, имеющим две модификации:

VIEW (xl,yl)-(x2,y2),cf,cb

VIEW SCREEN (xl,yl)-(х2,у2),cf,cb

Каждая из них устанавливает прямоугольную область, левая верхняя вершина которой задана экранными координатами (xi,yi), а противоположная вершина — координатами (х2,у2). Попытка задать область, выходящую за пределы экрана (о < х < 639, о < у < 479), системой пресекается. Целые числа cf и сь задают, соответственно, цвет фона и цвет рамки, которая окаймляет область вывода. 0бласть вывода и ее границы сразу же окрашиваются в указанные цвета.

В определенной таким образом области вывода действует одна из двух оконных систем координат. В первой из них начало координат находится в точке с экранными координатами (xi,yi), т. е. в левом верхнем углу окна, ось х направлена вправо, ось у — вниз, абсолютные координаты точек только целочисленные и положительные. Добавка SCREEN переносит начало отсчета координат с таким же взаимным расположением осей в левый верхний угол экрана, т. е. в точку (0,0). В любом случае все, что имеет координаты за пределами области вывода, отображаться не будет.

Приводимый ниже пример сначала объявляет квадратную область вывода, начинающуюся в точке с экранными координатами (10,10), ширина и высота которой равна 200 пикселам. Начало координат в этом окне физически находится в точке с экранными координатами (10,10). Поэтому два следующих оператора LINE строят горизонтальную и вертикальную линии, точно проходящие через середину области. Второй оператор (VIEW SCREEN) объявляет такую же по размерам квадратную область, привязанную своим левым верхним углом к точке с экранными координатами (310,10). 0днако в этой области действует экранная система координат с началом в точке (0,0). И для построения аналогичных прямых, проходящих через центр второй области, их концы приходится задавать в координатах экрана. Выполнив этот пример на компьютере, вы можете убедиться в том, что на одном экране могут одновременно сосуществовать изображения в не перекрывающихся зонах вывода, но в каждый конкретный момент выполнения программы действует только одно окно вывода.




Содержание  Назад  Вперед