Персональная страничка
Диканева Тараса
Викторовича

Главная \ Преподавательское \ Программирование для начинающих

13. Графика в Паскале

Предыдущий раздел:

Следующий раздел:

13.3. Экранные координаты. Точка заданного цвета

При запуске программы с подключенным модулем GraphABC создается так называемое графическое окно — обычное для ОС Windows окно, в пределах которого можно рисовать. Площадь окна можно рассматривать как двумерный массив светящихся точек (пикселей). Координаты точек принимают целочисленные значения и отсчитываются от левого верхнего угла окна (рис. 1). Ось ординат направлена вниз. Соответственно, сам левый верхний угол имеет координаты (0,0). Координаты соседних с ним точек, очевидно, будут (0, 1), (1, 0) и (1, 1).

Экранная система координат

Рис. 1. Экранная система координат.

Размеры окна по умолчанию составляют 640 на 480 точек. Однако пользователь может менять их произвольным образом обычным для ОС Windows способом (хватать мышью за угол, распахивать на весь экран и т.д.) Узнать текущий размер окна можно с помощью функций WindowWidth и WindowHeight. Например, инструкция

  W:=WindowWidth;

запишет текущую ширину в переменную W.

Изначально все пиксели окна имеют белый цвет. Однако каждому можно назначить произвольный цвет, заданный в так называемой системе RGB (расшифровывается Red Green Blue). В этой системе цвет задается тремя целыми числами в диапазоне от 0 до 255, задающими интенсивность красной, зеленой и синей составляющей (как известно, любой цвет можно получить их смешением). Цветовые значения имеют специальный тип Color, их можно получить с помощью функции RGB, имеющей заголовок:

  function RGB(r, g, b: byte): Color;

Также цвет можно задать с помощью одной из определенных в модуле GraphABC констант. Например, clRed — красный цвет, clYellow — желтый и т.д. Полный список смотрите в справочной системе среды PascalABC.

Указать любой точке, какого она должна быть цвета можно с помощью процедуры PutPixel. Ее заголовок:

  procedure PutPixel(x, y: integer; c: Color);

Здесь x, y – координаты точки, c – цвет точки.

В принципе, этой процедурой можно было бы и ограничится. Раз для любой точки окна можно указать любой цвет, значит можно нарисовать все, что угодно. Однако, все же полезно иметь в своем распоряжении несколько дополнительных команд для рисования простейших объектов.

Отличие среды Borland Pascal

Ширина и высота экрана в пикселях здесь фиксированна (640 x 480).

По умолчанию все пикселы имеют черный цвет (не светятся), но каждому можно назначить один из 16-ти цветов. Каждому цвету, соответствует целочисленная константа, описанная в модуле Graph. Список констант и их значения приведены в таблице:

Цвет Константа, описанная в модуле Graph Значение константы
Черный Black 0
Синий Blue 1
Зеленый Green 2
Голубой Cyan 3
Красный Red 4
Фиолетовый Magenta 5
Коричневый Brown 6
Светло-серый LightGray 7
Темно-серый DarkGray 8
Ярко-синий LightBlue 9
Ярко-зеленый LightGreen 10
Ярко-голубой LightCyan 11
Ярко-красный LightRed 12
Ярко-фиолетловый LightMagenta 13
Желтый Yellow 14
Белый White 15

Произвольные цвета, не входящие в эту палитру, задать невозможно.

Назначение цвета производится с помощью той же процедуры PutPixel. Ее заголовок:

  procedure PutPixel(X, Y: integer; Color: Word);

Здесь X, Y – координаты точки, Color – цвет точки.

Следующий раздел:

Предыдущий раздел:

Добавить комментарий