Здесь будут рассмотрены процедуры, управляющие цветовой гаммой изображения на дисплее, что не только определяет степень разборчивости и привлекательности изображения, но и в конечном итоге может влиять на физиологическое состояние пользователя. Для создания программ, не вызывающих усталости у человека, необходимо знать начала цветовой теории или, как ее еще называют, «цветовой гармонии».
19.5.1. Немного о цветах
Говоря о цветах, профессионалы пользуются специфической терминологией (рис. 19.15). Хроматические цвета — это все, кроме белого, черного и серых. Нейтральные цвета (белый, черный и серые) называются ахроматическими.
Рис. 19.15
Очень важным является понимание различия между цветовым тоном, светлотой и насыщенностью цвета. Цветовой тон отличает один хроматический цвет от другого определенным тоном пигмента —
- 433 -
краски. Он является основным признаком, эффективно используемым в так называемых цветовых треугольниках или кругах (рис. 19.16), которые могут быть применены для создания различных видов цветовых сочетаний, производящих индивидуальные (эмоциональный и физиологический) эффекты и визуальное воздействие. Цветовые тона разделяются на теплые и холодные: теплые тона — это красные, желтые, оранжевые и т.д.; холодные тона — это зеленые и синие.
Рис. 19.16
Под светлотой цвета обычно понимается его яркость.
Насыщенностью цвета называют относительную серость или чистоту цвета. Например, оранжевый — сильно насыщенный, а рыжевато-коричневый — слабо насыщенный. Насыщенность часто называют интенсивностью.
Цветовое колесо, показанное на рис. 19.16, получается из стандартного цветового круга. Цветовой круг создан четырьмя базовыми цветовыми тонами, воспринимаемыми человеческим глазом: красным, желтым, зеленым и синим. Восприятие совокупности цветных точек как единого целого (хорошо известное свойство зрения) используется в кинескопах дисплеев ПЭВМ, Базовые цвета в триадах точек люминофора — красный (red), синий (blue), зеленый (green) — могут смешиваться в определенных пропорциях (это имеет место в RGB-дисплеях). При этом можно получить практически все существующие в природе цветовые тона.
Правильный подбор цветовой комбинации на экране называют гармонией.
Аналоговая гармония — это комбинация цветовых тонов, которые являются соседними в цветовом круге (рис. 19.17). В зависимости от
- 434 -
стороны цветового круга она передает ощущение тепла или холода. Наиболее полными являются аналоговые гармонии, построенные на таких цветах, как оранжевый, фиолетовый и желто-зеленый.
Рис. 19.17
Дополняющая гармония разделяется на так называемую прямую и разделенно-дополняющую. Прямая гармония — это совокупность цветов, которые прямо противостоят друг другу в цветовом круге (рис. 19.18). Например, красно-зеленая гамма — это прямая гармония. Она обычно создает впечатление сильного удара, импульса.
Рис. 19.18
Составная гармония формируется комбинацией цветов, которые расположены в вершинах треугольника, вписанного в цветовой круг. Составная гармония называется также троичной гармонией. Красно-желто-синяя комбинация — это типичный пример троичной гармонии.
Кроме получения чистых цветовых тонов, можно рассматривать чистый цветовой тон различной яркости. Это достигается смешиванием в различных отношениях чистого цветового тона и черного или белого цветов. На практике принято рассматривать следующую формулу:
Цвет/Белый/Черный = Цветовая смесь
Наглядно она представлена на рис. 19.19.
- 435 -
Рис. 19.19
Человеческий глаз может точно распознавать девять оттенков серого между чисто-белым и чисто-черным (рис. 19.20).
Рис. 19.20
19.5.2. Задание типа заливки
В модуле Graph предусмотрены процедуры, с помощью которых можно заполнить (залить) определенным «узором» любую замкнутую область изображения. Вид «узора» задается так называемым шаблоном заливки. В Турбо Паскале предопределен ряд стандартных шаблонов, но кроме того, имеется возможность конструировать собственные.
19.5.2.1. Построение шаблона заливки. Рассмотрим, как можно получить на экране полутоновые изображений любого цвета из стандартного набора цветов, т.е. как расширить за счет введения полутоновых заполнений цветовые возможности адаптера. Составим шаблоны для заливки полутоновых изображений (рис. 19.21).
На этом рисунке изображены типовые матрицы 8x8, используя которые можно создать полутоновые изображения любыми двумя
- 436 -
Рис. 19.21
цветами. Тип переменной для задания матрицы заполнения объявлен в модуле Graph как массив:
| TYPE
FillPatternType : Array [1..8] of Byte
Таким образом, каждую матрицу можно представить, как показано на рис. 19.22.
Рис. 19.22
- 437 -
Если рассмотреть первую строку в шаблоне 25%-го заполнения, то получится 01000100 в двоичной системе счисления (68 в десятеричной или $44 в шестнадцатиричной). Следующая строка — 00010001 в двоичной (17 в десятеричной или $11 в шестнадцатеричной) и т.д. В результате мы можем получить константу
CONST
Fill_25 : FillPatternType =