Большинство современных программных средств компьютерной графики ориентировано на работу с цветовыми профилями, построенными в соответствии со спецификациями, разработанными международным консорциумом по цвету ICC – профилями ICC. На момент написания учебника действует международный стандарт ISO 15076, в котором регламентируется четвертая версия спецификаций цветового профиля (он опубликован на сайте ICC по адресу www.color.org).
   Цветовым профилем графического устройства называется представленный в стандартном формате массив данных, необходимых системе управления цветом для преобразования цвета между аппаратно-зависимым цветовым пространством графического устройства и аппаратно-независимым эталонным цветовым пространством. Спецификации ICC условно разделяют цветные устройства на устройства ввода, мониторы и устройства вывода. В них описаны алгоритмические модели, согласно которым выполняется преобразование цветовых пространств для каждой группы устройств.
   Цветовой профиль состоит из нескольких разделов. Он может существовать в виде автономного файла или встраиваться в графические файлы различных форматов. В первом разделе – заголовке – указывается категория графического устройства (ввода, вывода на экран, вывода на печать), модули управления цветом, которые могут работать с данным цветовым профилем, исходное и целевое цветовые пространства, источник освещения, служебная информация о профиле.
   Последующие разделы профиля представляют собой таблицы, в которых содержатся данные, необходимые для настройки системы управления цветом и выполнения преобразования цветовых пространств. Номенклатура таких таблиц для разных устройств различна. В варианте цветового RGB-профиля для сканера приводятся цветовые координаты базовых цветов аппаратно-зависимой модели RGB в цветовом пространстве XYZ или Lab, цветовая температура или цветовые координаты белой точки, градационные таблицы для базовых цветов, связывающие их цветность с яркостью свечения люминофоров.
   Цветовые профили устройств печати содержат больше данных. Это обусловлено необходимостью учета взаимного влияния базовых красок. Краска при печати наносится как на чистый носитель, так и поверх ранее нанесенных красок. Из-за этого в роли хроматических базовых цветов выступают не только бирюзовый, пурпурный и желтый, но и их попарные комбинации. Это, в свою очередь, усложняет процедуру преобразования цветовых пространств, и описывающие ее прямая и обратная матрицы преобразований становятся более громоздкими.
   Примечание
   Взаимное влияние базовых красок приводит к тому, что добавление малого количества базовой краски в область насыщенного оттенка цвета визуально гораздо менее заметно, чем добавление того же количества той же краски в область слабо насыщенного цвета. Это явление делает операцию преобразования цветовых пространств нелинейной.
   Отметим, что одному устройству печати могут соответствовать много цветовых профилей для различных сочетаний бумаги, красок и используемого программного обеспечения.
   Согласно стандарту ISO 15076 цветовые профили не связаны ни с какими-либо программными средствами, ни с аппаратными платформами. Как правило, разработчики графических устройств включают цветовые профили в комплект поставки, но они не всегда точно соответствуют фактическим особенностям каждого экземпляра. Рассогласование вызывается погрешностями изготовления, старением устройства, изменением условий эксплуатации и еще многими причинами. Поэтому при работе с системой управления цветом целесообразно достаточно регулярно проводить профилирование – процедуру составления актуального цветового профиля графического устройства.
   Профилирование представляет собой важную часть более общей процедуры – калибрования – согласования цветовых пространств устройств, используемых в графическом проекте для повышения эффективности работы системы управления цветом.
   Примечание
   К сожалению, в литературе по компьютерной графике имеет место некоторая терминологическая путаница, в силу которой профилирование иногда обозначается терминами "калибровка" или "калибрование".

Профилирование устройств графического ввода

   Профилирование сканеров выполняется с помощью программных и аппаратных средств по схеме, представленной на рис. 1.3.17.
   Рис. 1.3.17. Построение цветового профиля сканера
 
   В основе процедуры лежит сканирование эталонного изображения, для которого существует достоверный файл эталонных значений цвета. При этом строится файл измеренных значений цвета – информационная модель изображения, полученного в результате сканирования. Сравнение измеренных цветов с тем, что должно было получиться при их измерении, позволяет программе построения цветового профиля правильно составить все матрицы преобразования цветовых пространств.
   Эталонное изображение чаще всего представляет собой специальную карту для калибровки сканера, изготовленную в соответствии со стандартом ANSI: IT8.7/1-1993 (прозрачный оригинал) или IT8.7/2-1993 (непрозрачный оригинал). На этой карте имеются образцы хроматических и шкала ахроматических цветов.
   Процедура профилирования позволяет получить актуальный профиль, соответствующий текущим настройкам сканера и условиям сканирования. В процессе эксплуатации адекватность профиля может утрачиваться из-за деградации осветительного устройства сканера, старения светочувствительных элементов и даже изменения питающего напряжения. При профессиональной работе со сканерами (например, в фотолабораториях) профилирование выполняется, как минимум, раз в сутки.

Профилирование мониторов

   Данная операция выполняется с помощью программных и аппаратных средств по схеме, представленной на рис. 1.3.18.
   Рис. 1.3.18. Построение цветового профиля монитора
 
   В процедуре профилирования монитора не требуется физического эталона изображения, но необходим прибор, с помощью которого с экрана будут считываться измеряемые образцы цвета – колориметр или спектрофотометр. Как правило, такие приборы поставляются в комплекте с программами построения цветовых профилей мониторов. В процессе работы сенсор прибора устанавливается на экране профилируемого монитора.
   Изготовители комплексов для профилирования мониторов рекомендуют выполнять эту процедуру два-три раза в месяц, но следует иметь в виду, что любое изменение условий функционирования или настроек монитора приводит к необходимости повторного профилирования.
   Как паллиативный вариант, цветовой профиль можно построить без применения цветоизмерительных приборов, на глаз. Для этого существуют специальные программы (например, Adobe Gamma). К сожалению, точность построенного таким образом цветового профиля недостаточна для профессиональной работы над графическими проектами.

Профилирование устройств графического вывода

   Профилирование печатающих устройств выполняется с помощью программных и аппаратных средств по схеме, представленной на рис. 1.3.19.
   Рис. 1.3.19. Построение цветового профиля печатающего устройства
 
   В основе процедуры профилирования печатного устройства (полиграфического процесса) лежит приборный анализ отпечатка эталонного документа.
   Напечатанные образцы цвета измеряются с помощью колориметра или спектрофотометра с последующим сравнением эталонных и измеренных значений цвета.
   На адекватность цветового профиля печатающего устройства оказывают влияние тип носителя изображения, используемые красители и настройки устройства. При профессиональной работе с устройствами графического вывода (например, в бюро полиграфического обслуживания) профилирование выполняется, как минимум, несколько раз в сутки и перед выполнением каждого более или менее крупного заказа.

Список новых терминов

   • Аддитивные модели цвета
   • Аппаратно-зависимая модель
   • Ахроматический цвет
   • Встраивание цветового профиля
   • Глубина цвета
   • Дополнительные цвета
   • Имитация цвета
   • Индекс цвета
   • Индексированная модель цвета
   • Калибрование
   • Линия пурпурной цветности
   • Линия спектральной цветности
   • Локус
   • Метамерия
   • Модуль управления цветом
   • Монохромная шкала
   • Монохромное изображение
   • Насыщенность
   • Нейтральный серый
   • Оттенки
   • Палитра
   • Перцептивная модель
   • Плашечная печать
   • Преобразование цветовых пространств
   • Профилирование
   • Свет
   • Светлота
   • Система управления цветом
   • Система цвета
   • Система цветосовмещения
   • Спектральная диаграмма
   • Субтрактивные модели цвета
   • Точка опорного белого цвета
   • Треугольник цветности
   • Формула цвета
   • Хроматика
   • Цвет
   • Цветность
   • Цветовая модель
   • Цветовая разрешающая способность
   • Цветовая температура
   • Цветовое пространство
   • Цветовой круг
   • Цветовой охват
   • Цветовой профиль
   • Цветовые координаты
   • Шкала градаций цвета
   • Штриховое изображение
   • Яркость

Контрольные вопросы

   1. Почему в отсутствие наблюдателя понятие цвета является неопределенным?
   2. Какие роли играет цвет в изображении?
   3. В чем состоит субъективность восприятия цвета?
   4. Что выделяет свет из спектра электромагнитных колебаний?
   5. Чем обусловлен феномен сумеречного зрения, состоящий в том, что в условиях недостаточной освещенности человек не воспринимает цвета предметов?
   6. Почему свет разделяется на спектр, проходя через призму?
   7. Какая информация представлена на спектральной диаграмме?
   8. В чем состоит явление метамерии?
   9. Что может изменить спектральное распределение светового потока?
   10. Почему в компьютерной графике приходится раздельно рассматривать излученный и отраженный свет?
   11. Какую роль играет явление метамерии в управлении цветом излученного светового потока?
   12. Что представляет собой цветовое пространство?
   13. Какие технические задачи решаются при реализации аддитивного синтеза цвета?
   14. Что происходит с отраженной и преломленной частями светового потока?
   15. Чем объективно обусловлено визуальное восприятие цвета в первоначально белом световом потоке после отражения?
   16. Какие технические задачи решаются при синтезе цвета с помощью отраженного света?
   17. На листе белой бумаги напечатана иллюстрация, изображающая все цвета спектра. Как эта иллюстрация будет выглядеть при освещении синим цветом? А при освещении желтым светом?
   18. Почему белый и черный в компьютерной графике считаются оттенками одного и того же цвета?
   19. Какое изображение называется штриховым?
   20. Может ли штриховое изображение быть хроматическим?
   21. Сколько базовых цветов используется в монохромной модели?
   22. В чем состоит принципиальное отличие штрихового и монохромного изображений?
   23. Почему в полиграфии и компьютерной графике приняты разные системы обозначения оттенков монохромной шкалы?
   24. Какова глубина цвета полиграфической монохромной шкалы?
   25. Почему термин "черно-белая фотография" не совсем корректен?
   26. Чем определяется размер палитры цветов в индексированной модели цвета?
   27. В чем состоит особенность прозрачности в индексированной модели цвета?
   28. Имеется ли принципиальная разница между индексированной и штриховой моделями цвета? В чем она состоит?
   29. В чем состоит прием имитации цвета, отсутствующего в палитре цветов индексированной модели цвета?
   30. В чем заключается разница между аппаратно-зависимой и перцептивной моделями цвета?
   31. По каким причинам в качестве базовых цветов аддитивной модели выбраны красный, зеленый и синий?
   32. Какая информация приводится в формуле цвета аддитивной модели? Как она записывается?
   33. Что представляет собой точка единичного цвета?
   34. Какой цвет имеет точка, расположенная на пересечении биссектрис треугольника цветности аддитивной модели цвета?
   35. В каком соотношении находятся значения цветности оттенков монохромной шкалы с белым и красным базовыми цветами?
   36. Почему в треугольнике цветности содержатся все цвета модели цвета?
   37. Как устроен цветовой круг?
   38. Как связаны цветовой круг и треугольник цветности аддитивной модели цвета?
   39. В чем состоят принципиальные недостатки модели цвета RGB?
   40. В чем состоит стандартность стандартных цветовых пространств RGB?
   41. Для каких целей используются стандартные цветовые пространства?
   42. Каким образом выбраны спектральные распределения базовых световых потоков для перцептивной цветовой модели XYZ?
   43. Чем отличаются цветовые пространства RGB и XYZ? По каким причинам?
   44. С какой целью выполняется нормирование цветового пространства XYZ? Каким образом?
   45. Почему цветовая диаграмма CIE, проекция треугольника цветности модели цвета XYZ, выглядит не треугольником, а сегментом параболы?
   46. Как и почему называются отдельные части границы цветовой диаграммы CIE?
   47. Почему ахроматическая точка цветовой диаграммы CIE называется точкой опорного белого цвета?
   48. Как по цветовой диаграмме CIE определить насыщенность и цветность цвета?
   49. Как цветовая температура источника освещения связана с точкой опорного белого цвета?
   50. Каким практическим целям служит цветовая диаграмма CIE?
   51. Почему цветоразличительные свойства зрения минимальны на границе локуса (в зоне спектрально чистых цветов) и максимальны в области нулевых цветностей (на ахроматической шкале)?
   52. Почему в субтрактивной модели цвета неудобно применять в качестве базовых те же цвета, что и в аддитивной?
   53. Какая информация приводится в формуле цвета субтрактивной модели? Как она записывается?
   54. Почему на практике в субтрактивной модели не удается обойтись тремя базовыми цветами?
   55. Что представляет собой обогащенный черный цвет? Для каких целей его применяют?
   56. Каковы основные недостатки субтрактивной модели цвета?
   57. Как цветность определяется по цветовому кругу?
   58. Где в цветовом круге располагаются цвета равной насыщенности?
   59. Как устроено цветовое пространство HSB?
   60. В чем состоят основные недостатки модели цвета HSB?
   61. Чем светлота отличается от яркости?
   62. Что является главной причиной неравноконтрастности моделей цвета HSB и HSL?
   63. Каким образом в модели цвета CIE Lab качественно разделены светлота и цветность?
   64. Каковы достоинства модели цвета CIE Lab?
   65. Каковы недостатки модели цвета CIE Lab?
   66. За счет чего технология плашечной печати обеспечивает сравнительно точное воспроизведение цвета?
   67. Что входит в состав системы цветосовмещения?
   68. Почему не определяется глубина цвета для модели цвета системы цветосовмещения?
   69. Что входит в состав систем цвета повышенной точности?
   70. Каковы основные причины, вызывающие необходимость применения систем управления цветом?
   71. Каково назначение системы управления цветом?
   72. Каковы основные функции системы управления цветом?
   73. Что входит в состав системы управления цветом стандартной архитектуры?
   74. Для чего в системе управления цветом служит модуль управления цветом?
   75. Какие информационные единицы входят в состав цветового профиля устройства и каково их практическое назначение?
   76. Каким целям служит встраивание цветового профиля в графический файл, содержащий информационную модель изображения?
   77. Каковы функции эталонного цветового пространства?
   78. Что выполняется в ходе процедуры преобразования цветового пространства?
   79. Чем различаются между собой методы преобразования цветового пространства?
   80. Что представляют собой процедуры калибрования и профилирования?
   81. Для чего в профилировании устройств графического ввода применяется эталонное изображение?
   82. Какие факторы определяют частоту выполнения процедуры профилирования сканера?
   83. Какие приборы необходимы для выполнения профилирования монитора? Для чего?
   84. Как выполняется профилирование устройства цветной печати?

Темы для обсуждения

   1. Примеры проявления метамерии в повседневной жизни.
   2. Выбор базовых цветов и первый закон Грассмана.
   3. Соотношение Эвклидова и цветового пространств.
   4. Цветовое пространство и цветовые модели повышенной точности.
   5. Влияние спектрального распределения светового потока от внешнего источника света на восприятие цвета в отраженном свете.
   6. Монохромное изображение как рабочий инструмент в компьютерной графике.
   7. Методики построения палитр в индексированной модели цвета.
   8. Соотношение цветовых пространств аддитивной и субтрактивной моделей цвета.
   9. Прикладные области, требующие повышенной точности воспроизведения цвета.
   10. Перцептивные цветовые модели – свойства равной контрастности и равной светлоты, модель цвета Luv.
   11. Приборы для измерения цвета.
   12. Реализация системы управления цветом в ОС Windows.

Часть II
Векторная графика

2.1. Объектно-ориентированное графическое моделирование

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

2.1.1. Графические объекты и их классы

   Большинство программных средств компьютерной графики для работы с векторными изображениями представляют собой интегрированные объектно-ориентированные программные пакеты. Интегрированность программного пакета означает, что он включает в себя несколько программных средств с единым интерфейсом пользователя, в совокупности позволяющих решать множество задач, возникающих при работе с векторной графикой. Входящие в пакет средства позволяют легко обмениваться данными и последовательно выполнять различные операции над ними, поскольку используют одну и ту же информационную модель изображения. Таким образом, возможности программных средств интегрируются в целое, представляющее собой нечто большее, чем простая сумма компонентов. Примеры таких интегрированных пакетов для работы с векторной графикой – CorelDRAW X3 и Adobe Illustrator CS2.
   Объектная ориентированность программных средств состоит в том, что информационная модель векторного изображения, с которой они работают (см. разд. 1.2.1), разработана на основе последовательного применения приемов объектно-ориентированного анализа предметной области. Эта модель представляет собой сбалансированную иерархическую систему классов графических объектов и совокупность методов, с помощью которых можно создавать, удалять и модифицировать экземпляры этих объектов.
   Классом графических объектов называется совокупность объектов, обладающих свойством структурной идентичности, одинаковым списком атрибутов и набором методов работы с ними, а также ее формальное описание, состоящее из описания всех атрибутов и методов класса. Так, классом объектов будут, например, прямоугольники. Их структурная идентичность очевидна – у каждого прямоугольника имеются по четыре стороны и по четыре угла. Прямоугольники могут быть разной высоты и ширины, но у каждого из них есть высота и ширина – общий для всех объектов класса список атрибутов (см. разд. 2.1.2). Методы работы также будут общими для всех прямоугольников. Прямоугольник можно создать, удалить, развернуть, растянуть, сжать, перекосить, можно закруглить ему углы. Эти операции представляют собой методы класса прямоугольников (см. разд. 2.1.3).
   Примечание
   Иногда термином "класс объектов" обозначают только совокупность объектов, являющихся экземплярами этого класса. В этом случае приходится говорить об отдельном описании класса, которое определяет совокупность его атрибутов и методы этого класса.
   На рис. 2.1.1 в качестве примера показаны верхние уровни дерева классов графических объектов CorelDRAW X3.
   Рис. 2.1.1. Верхние уровни иерархии объектов графического документа
 
   Объектная ориентированность векторной информационной модели позволяет работать с ней достаточно гибко, выбирая для решения поставленной в графическом проекте задачи наиболее оптимальный в смысле трудоемкости и сложности способ. В частности, операция выделения и модификации отдельных объектов изображения на любом этапе графического проекта недостижима при использовании бумаги и традиционных инструментов художника-графика, а также весьма затруднительна при работе с пиксельной информационной моделью.
   Кроме интерактивной реализации методов для работы с графическими объектами, современные программные средства векторной графики предоставляют возможность воспользоваться программным интерфейсом. Для этого в их состав вводится объектно-ориентированный язык программирования. Составляя программные модули на этом языке, пользователь может автоматизировать построение сложных графических изображений и выполнение повторяющихся действий. Можно также программно определять новые классы составных графических объектов и описывать методы работы с ними. Имеются также средства для сохранения интерактивных действий пользователя в виде программных модулей, которые затем можно выполнять многократно.
   Классы графических объектов, составляющие векторную информационную модель изображения, достаточно автономны. Это позволяет упростить и структурировать процесс изучения приемов работы с векторной графикой, поскольку для начала работы с пакетом векторной графики достаточно ознакомиться с небольшим числом классов, их атрибутами и методами. Последующие главы этой части учебника посвящены как раз описанию важнейших классов векторной модели изображения, их атрибутов и методов, а также типовых задач, которые можно решить с их помощью.
   Примечание
   Рассматриваться будут именно классы графических объектов и их методы. Что касается интерфейса пользователя, обеспечивающего доступ к этим методам, – для его изучения следует обращаться к учебникам по соответствующим программным средствам.

2.1.2. Атрибуты класса графических объектов

   Класс объектов включает в себя все объекты, как уже существующие, так и те, которые могут быть созданы в будущем. Главное – чтобы эти объекты удовлетворяли описанию класса. Каждый из объектов, входящих в один класс, называется экземпляром класса. У всех экземпляров одного класса по определению список атрибутов и набор методов должны быть одинаковыми. Следовательно, отличаться друг от друга экземпляры одного класса могут только значениями атрибутов.
   Атрибутом (свойством) класса графических объектов называется именованное значение, характеризующее какую-либо особенность объекта, один из его аспектов. Существенно, что атрибут класса должен отвечать трем условиям:
   • вариативности – хотя бы у одного из объектов класса значение атрибута должно отличаться от значений того же атрибута у остальных объектов класса;
   • единичности – атрибут должен представлять собой единственное значение одного из стандартных типов данных;
   • релевантности – атрибут должен описывать графический объект в аспекте, существенном для графического моделирования.
   К стандартным типам данных относятся:
   • логические значения;
   • целые числа;
   • действительные числа;
   • текстовые значения.
   На рис. 2.1.2 представлена панель атрибутов – элемент интерфейса графического редактора, с помощью которого можно узнать текущие значения атрибутов выделенного графического объекта (в данном случае – прямоугольника).
   Рис. 2.1.2. Панель атрибутов для класса графических объектов «прямоугольник»
 
   Совокупность текущих значений атрибутов объекта определяет его состояние.
   Первоначально атрибуты объекта получают свои значения при создании этого объекта. Некоторые из атрибутов вводит пользователь, остальные принимают значение по умолчанию. Например, при создании прямоугольника интерактивным методом пользователь протаскивает указатель мыши по диагонали создаваемого объекта. При этом он задает значения таких атрибутов, как ширина, высота, горизонтальная и вертикальная координаты центра. Такие атрибуты, как угол разворота, тип и ширина контурной линии и пр., получают значение по умолчанию.
   Примечание
   В современных графических редакторах пользователь может заранее задавать значения умалчиваемых параметров. Можно, например, сделать так, что все вновь создаваемые графические объекты будут получать заливку синего цвета и обводку штриховой линией.