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



         

Управление цветом


Процедуры воспроизведения элементарных геометрических объектов -точек, отрезков прямых, дуг окружностей или эллипсов, прямоугольников, — используют тот или иной цвет при окрашивании соответствующих пикселов. В системе QBasic цвет объекта может быть задан с помощью необязательного параметра в соответствующем графическом операторе. Если он явно не указан, то объект рисуется цветом переднего плана, установленным ранее в операторе C0L0R:

C0L0R cf,cb

В режимах 12 и 13 оператор C0L0R допускает единственный параметр cf, определяющий программный цвет рисования. Его значением может быть любое число из интервала [0,15], по которому системные программы извлекут содержимое регистра палитры с номером cf и преобразуют его в физический цвет отображаемых на экране пикселов. Второй параметр сь допустим только в режиме 9 (EGA), он определяет цвет фона. В режимах 12 и 13 цвет фона устанавливается в момент объявления области вывода. По умолчанию им является черный цвет.

Приводимая ниже программа демонстрирует цветовую палитру режима 12, воспроизводя с задержкой в 1 с прямоугольники размером 100x75 пикселов, заливаемые последовательно цветами от 0 до 15.

Программа 8_04.bas

REM Демонстрация цветовой палитры

SCREEN 12

CLS

F0R Y=10 T0 310 STEP 100

F0R X=10 T0 460 STEP 150

LINE (X-l,Y-l)-(X+101,Y+76),15,В

LINE (X,Y)-(X+100,Y+75),C0L,BF

C0L=C0L+1

SLEEP 1 : ' Задержка на 1 сек NEXT X NEXT Y END

В BGI-пакете цвет переднего плана и цвет фона устанавливаются процедурами (функциями) setcoior(cf) и setbkcolor (cb). В процедурах отображения геометрических объектов в системах Turbo С и Turbo Pascal цвет рисования явно не задается. Используется только тот цвет, который был установлен с помощью setcoior. Для тех, кому английский язык не чужд, наряду с числовыми значениями кода цветности BGI-пакет предлагает набор мнемонических констант (табл. 8.1).

Таблица 8.1. Набор мнемонических констант BGI-пакета

Код

Цвет

Turbo С

Turbo Pascal

0

Черный

BLACK

Black

1

Синий

BLUE

Blue

2

Зеленый

GREEN

Green

3

Бирюзовый

CYAN

Cyan

4

Красный

RED

Red

5

Малиновый

MAGENTA

Magenta

6

Коричневый

BR0WN

Brown

7

Светло-серый

LIGHTGRAY

LightGray

8

Темно-серый

DARKGRAY

DarkGray

9

Светло-синий

LIGHTBLUE

LightBlue

10

Светло-зеленый

LIGHTGREEN

LightGreen

11

Светло-бирюзовый

LIGHTCYAN

LightCyan

<


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