Вывод графической информации. Координаты на графическом экране
Изображение на экране состоит из точек (синоним: пиксел (англ. picture element)). Точки образуют прямоугольную таблицу (растр), нумеруются сверху вниз и слева направо начиная либо с нуля (КуМир), либо с 1 (Паскаль, Бейсик). Каждая точка имеет определенный цвет, выбираемый из заранее установленного набора цветов. На одном и том же компьютере количество точек и количество возможных цветов можно изменять в процессе работы, вы¬брав одну из предусмотренных в конструкции компьютера комбинаций. Такая комбинация называется графическим режимом.
Размер растра в зависимостям от режима меняется от 320 X 200 пикселов до 640 X 480 пикселов, а количество цветов от 256 до 4. Эти режимы и использованы в данном пособии при решении задач. Современные компьютеры допускают и более качественные режимы: размер растра до 1280 X 1024 и более пикселов и до 16 млн цветов.
Графический вывод проводится с помощью на¬бора вспомогательных алгоритмов, называемого графическим пакетом, или графическим модулем. Такой пакет, как правило, включает следующие команды:
инициализация режима (начало работы)
очистка экрана
установка цвета
установка Текущей Позиции (ТП)
рисование точки
рисование линии
рисование окружности
рисование круга
закраска области
вывод текста
Примеры нескольких команд графического па¬кета в КуМире:
видео (19 ) — установить режим номер 19 очистить экран — очистка экрана цвет (15) —установить цвет номер 15 поз (а , Ь) — установить ТП в точку (а,b) круг (27) — нарисовать круг радиуса 27 с центром в ТП линия (а-4,Ь-29) —нарисовать отрезок от ТП до (а-4, b-29)
выв сим ('ось X') —вывести строку из 5 символов вправо от ТП
В Паскале пакет включает следующие команды:
InitGraph(Driver,Mode,'filename'); — инициализация режима
Cleardevice;
— очистка экрана SetColor(Цвет);
— установка цвета Put.Pixei(X, Y, Цвет);
— рисование точки Line(X, Y, X конца, Y конца);
— рисование линии
Circle(X центра, Y центра, радиус);
— рисование окружности Fillellipse(X центра, Y центра, радиус, радиус);
— рисование закрашенного эллипса OutTextXY (X, Y, Текст)
— вывод текста
Для «инициализации режима» в Паскале требуется описать две целые переменные: Driver и Mode, которые надо установить в соответствии с требованиями графического пакета. Литерная переменная 'filename' задает имя файла, содержащего графический пакет.
В Бейсике пакет включает следующие команды:
SCREEN 1 — инициализация режима
CDS 1 — очистка экрана
PSET(X, Y) —рисование точки
LINE(X, Y)-(X конца, Y конца), цвет
— рисование линии CURCLE (X центра, Y центра) , радиус, цвет
— рисование окружности PAINT (X, Y), цвет
— закраска области PRINT текст;
—вывод текста
Команда PAINT закрашивает область указанным цветом, границей области считаются ближайшие к (X, Y) точки указанного цвета.
Замечание. Базовый графический пакет требует задания текущей позиции, линий, окружностей и т. п. в целочисленных координатах. Это не всегда удобно. Многие задачи удобнее решать с использованием не базового, а специализированных графических пакетов. Такие пакеты позволяют задавать информацию в вещественных координатах. Вот несколько команд специализированного графического пакета «Чертежник» в языке КуМир: задать поле (Xmin, Xmax, Ymin, Ymax) опустить перо поднять перо сместиться в точку (X,Y) сместиться на вектор (А,В)
|