Так как бумага не излучает свет, цветовую модель RGB нельзя использовать при печати изображения на принтере. Поэтому для графических изображений на бумаге используется система цветов, получаемых при отражении света, — система субтрактивных цветов.
Система субтрактивных цветов
Рис. 6. «Цветовой круг» (взаимосвязь моделей RGB и CMYK)
Белый cвет состоит из всех цветов радуги. Если пропустить луч белого света через призму, он разложится в цветной спектр. Красный, оранжевый, желтый, зеленый, голубой, синий и фиолетовый цвета образуют видимый спектр света (в спектр белого света входят также невидимые инфракрасные и ультрафиолетовые лучи). Белая бумага при освещении ее белым светом отражает все цвета, окрашенная же бумага поглощает часть спектра, а остальные цвета отражает. Например, листок красной бумаги, освещенный белым светом, выглядит красным именно потому, что такая бумага поглощает все цвета, кроме красного. Та же красная бумага, освещенная синим цветом, будет выглядеть черной, так как синий цвет она поглощает.
В этой системе основными являются голубой (Суаn), пурпурный (Маgеnta) и желтый (Yеllоw). Каждый из них поглощает (вычитает) определенные цвета из спектра белого света. Вот как эти три основных цвета могут быть использованы для получения черного, красного, зеленою и синего цветов:
голубой + пурпурный + желтый = черный;
голубой + пурпурный = синий;
желтый + пурпурный = красный;
желтый + голубой = зеленый.
Белый цвет получается при отсутствии всех трех основных цветов. Высокое процентное содержание голубого, пурпурного и желтого образует черный цвет. Точнее, черный цвет должен получиться теоретически, в действительности же из-за некоторых особенностей типографских красок смесь всех трех основных цветов дает грязно-коричневый тон, поэтому при печати изображения добавляется «чистая» черная краска (Вlасk).
Систему субтрактивных цветов обозначают аббревиатурой СМYК (чтобы не возникало путаницы с Вluе, здесь для сокращения Вlасk используется символ "К").
Процесс четырехцветной печати можно разделить на два этапа:
1) создание на базе исходного рисунка четырех составляющих изображений голубого, пурпурного, желгого и черного цветов;
2) печать каждого из этих изображений одного за другим на одном и том же листе бумаги.
Разделение цветного рисунка на четыре компоненты выполняет специальная программа цветоделения. Если бы принтеры использовали систему СМY (без добавления черной краски), преобразование изображения из системы RGB о систему СМY было бы очень простым: значения цветов в системе СМY – это просто инвертированные значения системы RGB. На схеме («цветовой круг») (рис. 6) показана взаимосвязи основных цветов моделей RGB и СМY. Смесь красного и зеленого дает желтый, желтого и голубого - зеленый, красного и синего - пурпурный и т. д. Таким образом, цвет каждого треугольника на рис. 6 определяется как сумма цветов смежных к нему треугольников. Но из-за необходимости добавлять черную краску процесс преобразования становится значительно сложнее. Если цвет точки определялся смесью цветов RGB, то в новой системе он может определяться смесью цветов СМY плюс еще включать некоторое количество черного цвета. Для преобразования из системы RGB в СМYК программа цветоделения применяет ряд математических операций. Например, если пиксель в системе RGВ имел чистый красный цвет (100% R, 0% G, 0% В), то в системе СМYК он должен иметь равные значения пурпурного и желтого (0% С, 100% М, 100% Y, 0% К).
В приведенной здесь таблице для примера представлено описание нескольких цветов с использованием моделей RGB и СМYК (диапазон изменения интенсивностей цветовых составляющих цвета — от 0 до 255).
Цвет
RGB
CMYK
«золотой»
202R, 153G, 51B
38C, 105M, 204Y, 3K
темно-фиолетовый
102R, 51G, 104B
97C, 183M, 67Y, 67K
оранжевый
255R, 102G, 0B
0C, 187M, 253Y, 0K
коричневый
153R, 102G, 51B
58C, 134M, 174Y, 29K
Вместо сплошных цветных областей программа цветоделения создает растры из отдельных точек (рис. 7), причем эти точечные растры слегка повернуты друг относительно друга так, чтобы точки разных цветов не накладывались одна поверх другой, а располагались радом. Маленькие точки различных цветов, близко расположенные друг к другу, визуально сливаются в одну, и тогда наши глаза воспринимают результирующий цвет.
желтый голубой пурпурный черный
Рис. 7. Точечные растры для четырехцветной печати
Таким образом, система RGB работает с излучаемым светом, а СМYК — с отраженным. Если необходимо распечатать на принтере изображение, полученное на мониторе, специальная программа выполняет преобразование одной системы цветов в другую. Но в системах RGB и СМYК различна природа получения цветов. Цвет, который мы видим на мониторе, достаточно трудно точно повторить при печати. На экране цвет выглядит несколько ярче по сравнению с том же самым цветом, выведенным на печать.
Все множество цветов, которые могут быть созданы в цветовой модели, называется цветовым диапазоном. Диапазон RGB шире диапазона СМYК. Это означает, что цвета, созданные на экране, не всегда можно воспроизвести при печати, поэтому у некоторых графических программах предусмотрены предостерегающие указатели. Они появляются в том случае, если цвет, созданный в модели RGB, выходит за рамки диапазона СМYК. В Аdоbе Рhоtoshop в качестве такого предупреждающего указателя используется маленький восклицательный знак справа от поля сравнения нового и прежнего оттенков (рис. 3). Когда появляется подобное предостережение, можно просто щелкнуть на нем левой кнопкой мыши, тем самым заставив Аdоbе Рhotoshop заменить данный цвет на ближайший по спектру цвет из модели СМYК.
Существуют программы (например, СоrelDraw и Аdоbе Рhоtоshoр, которые позволяют создавать на экране рисунки не только в системе RGB, но и в цветах СМYК. Для создания произвольного цвета в системе СМYК необходимо указать процентное содержание каждого основного цвета аналогично тому, как это делается при работе с RGB-моделью. Тогда, глядя на экран, пользователь сможет увидеть, как рисунок будет выглядеть при печати.
Система «Тон — Насыщенность — Яркость»
Системы цветов RGB и СМYК базируются на ограничениях, накладываемых аппаратным обеспечением (мониторами компьютеров и типографскими красками). Другим способом описания цвета является его представление в виде набора значений тона (Нuе), насыщенности (Saturation) и яркости (Brightness). Для такой системы цветов используется аббревиатура НSВ. Тон — это конкретный оттенок цвета: красный, желтый, зеленый, пурпурный и т. д. Насыщенность характеризует "чистоту" цвета: уменьшая насыщенность, мы «разбавляем» его белым цветом. Яркость же зависит от количества черной краски добавленной к данному цвету: чем меньше черноты, тем больше яркость цвета. Для отображения на мониторе компьютера система HSB преобразуется в RGB, а для печати на принтере — в систему СМYК. Можно создать произвольный цвет, указав в полях ввода Н, S и В значения для тона, насыщенности и яркости из диапазона от 0 до 255 (рис. 3 — 5, 8). Кроме того, пользователь может визуально выбрать цветовой тон, щелкнув левой кнопкой мыши в соответствующей точке цветового круга (рис. 8) или цветового поля (рис. 3—5). В результате перемещения метки в виде квадратика (рис. 8) по внутренней части цветового треугольника изменяются насыщенность и яркость выбранного тона. В левом верхнем углу треугольника цвет становится максимально размытым (почти белым). В правом нижнем его углу яркость цвета минимальна. В Аdоbе Рhotoshop (рис. 3) изменение насыщенности и яркости выполняется в результате перемещения метки в виде окружности внутри цветового поля. Система 3DStudio МАХ использует НSV-модель (рис. 4), где в названии НSV буква "V" также обозначает яркость. И наконец, в графическом редакторе Раint цветовое поле позволяет выбирать тон и насыщенность (контраст), а яркость устанавливается с помощью специального регулятора (рис. 5).
поля ввода
Рис. 4. Диалоговое окно программы CorelDraw для формирования цвета в системе HSB
1. Корриган Дж. Компьютерная графика. М.: ЭНТРОП, 1995.
2. Гринберг А. Д., Гринберг С. Цифровые изображения. Минск: Попурри, 1997.
Введение. Ошибка! Закладка не определена.
Основные этапы решения задач на ЭВМ.. 5
Анализ постановки задачи и ее предметной области. 7
Последовательный и прямой доступ к компонентам файла. 76
Процедурный тип. 77
Вариантный тип. 78
Адресный тип. Указатели. 79
Динамические переменные. 80
Динамические структуры данных. 81
Динамические массивы.. 82
Стеки. 83
Очереди. 84
Списки. 84
Классы.. 85
Поля. 89
Методы.. 90
Статические методы.. 91
Виртуальные методы.. 92
Динамические методы.. 92
Методы обработки сообщений. 93
Конструкторы и деструкторы.. 93
Замещенные методы.. 95
Абстрактные методы.. 95
Свойства. 96
Обработчики событий. 98
Главной целью дисциплины является изучение основных понятий теории программирования. Усвоение, основных принципов и методов программирования, применяемого в современных компьютерах, дает целостное понимание общих тенденций развития программного обеспечения.
В процессе обучения студенты должны приобрести умение обосновывать свою позицию в области программирования и научиться применять полученные знания при решении профессиональных задач, пользуясь современными научными методами.
Методологической основой курса являются современные методики работы с компьютерной техникой и информационными процессами.
На дисциплине "Программирование на языке высокого уровня" базируется изучение дисциплин "Основы теории управления", "Операционные системы", "Базы данных", "Системное программное обеспечение", "Технологии программирования" и других дисциплин.