Рис. 1.3. Векторное изображение и его увеличенный фрагмент
Рис. 1.4. Растровое изображение и его увеличенный фрагмент
Отсюда мы можем вывести, что чем меньше пикселы, тем лучше для изображения – и это правило будет вполне верным (хотя, конечно, как мы узнаем в главе 3, не имеет смысла уменьшать пикселы до размеров атома). Если же пикселы слишком велики, то изображение будет выглядеть некрасивым и неестественным. Это правило можно и перефразировать: чем больше пикселов присутствует в изображении, тем выше его качество.
Изменяя размеры растрового изображения, графический редактор использует различные математические технологии, чтобы компенсировать потерю качества при увеличении. Мы подробнее рассмотрим эти технологии в главе 3.
Вторым пунктом наших «претензий» к растровой графике было то, что изменения, вносимые в рисунок, не обратимы. Читатели, имеющие опыт работы в графических редакторах, сразу же подумают о командах отмены действий – и немного ошибутся. Необратимость действий проявляется в первую очередь в том, что, отредактировав растровое изображение (например, покрасив все в зеленый цвет) и сохранив его, мы потом не сможем вернуться к исходному варианту.
После сохранения все изменения, внесенные в изображение, остаются в нем навсегда – и если вы при редактировании удалили или «закрасили» какую-то его часть, то с ней можно попрощаться. Уничтоженный фрагмент нельзя «проявить» или «вытащить» из-под слоя краски, вся информация о нем была удалена. Команды отмены действий, которые предлагают нам графические редакторы, никак не связаны с собственно растровой графикой. Вместо этого сама программа «помнит» наши действия и может помочь восстановить прежнее состояние изображения. Однако как только мы сохраняем рисунок в файле, графический редактор «забывает» о нем, и восстановить эту информацию уже невозможно.
Особенно актуальным этот недостаток становится, если вы работали с векторной графикой. Поскольку по задумке своей векторный рисунок состоит из отдель ных объектов, редактирование его почти всегда обратимо – смещенный объект можно вернуть на старое место, а если один объект закрывает собой другой, то нижний, скрытый объект никуда не пропадает, его просто не видно.
Как мы узнаем из последующих разделов, с развитием векторной графики подобный подход заимствовали и растровые редакторы – в профессиональных программах вы можете хранить растровые изображения на отдельных слоях, которые также будут совершенно независимы друг от друга – это, конечно же, сильно упрощает работу и компенсирует ограниченное редактирование растровой графики.
Наконец, последней «претензией» к растровой графике были большие объемы памяти, которых она требует. И действительно, с этим недостатком ничего не поделаешь. Мы сами вывели принцип, согласно которому большее количество пикселов означает более высокое качество изображения. Информация о каждом пикселе (его цвет) хранится в памяти компьютера отдельно, и чем больше пикселов, тем больше памяти для этого нужно. Высококачественные изображения больших форматов (например, для настенных календарей) иногда могут занимать сотни мегабайт. Добавьте к этому «память» программы, благодаря которой мы можем отменять совершенные действия, – и вы поймете, почему профессиональные дизайнеры никогда не бывают удовлетворены количеством оперативной памяти в компьютере и размерами жестких дисков.
А вот векторная графика обычно куда компактнее. Размер ее файлов определяется не размером изображения, а его сложностью – чем больше объектов использовано в изображении, тем больше информации требуется сохранить. Однако редкий векторный рисунок, пусть даже сложный, занимает даже десять мегабайт – обычно они довольствуются куда более скромными значениями.
Глава 2
Теория цвета
• Цветовая модель RGB
• Цветовая модель CMYK
• Цветовая модель L*a*b
• Цветовая модель HSB
• Цветовой режим Grayscale (Оттенки серого)
• Индексированный цветовой режим
• Цветовой режим Monochrome (Монохромный)
Как мы уже говорили, растровый рисунок состоит из отдельных пикселов, а каждый пиксел хранит только одно значение: свой цвет. Поэтому не будет преувеличением, если мы скажем, что принципы и способы хранения цветов составляют самую суть растровой графики.
Применительно к компьютерной графике слово «цвет» означает не совсем то, что мы привыкли подразумевать в обычной речи. В компьютерной графике черный – это цвет, и белый – это цвет, и серый – такой же цвет, как и зеленый с красным.
Для записи цвета пиксела используются, разумеется, цифровые значения – в компьютере все в итоге сводится к цифрам. Соответственно, существуют и разные системы исчисления цвета, которые различаются принципами и формой записи информации. Видимый цвет разлагается на отдельные «составляющие», информация о которых и записывается. Если необходимо отобразить цвет, производится обратная операция: из отдельных компонентов «синтезируется» нужный оттенок цвета.
В зависимости от принципа, по которому информация о цвете превращается в набор цифр, принято различать цветовые модели, то есть некие алгоритмы, согласно которым можно записать оттенок цвета в виде чисел, или наоборот – превратить цепочку цифр в цвет. Разные цветовые модели, как мы увидим чуть позже, обладают разными возможностями и в разной степени приспособлены для решения тех или иных задач.
Основными цветовыми моделями являются:
• RGB, «основная» в компьютерной графике, поскольку согласно этой модели работают цветные мониторы, сканеры – да и большинство компьютерных программ тоже «опираются» на эту систему;
• CMYK, «основная» в цветной печати: струйные и лазерные принтеры и даже настоящие типографии работают с этой системой исчисления цвета (или с ее более совершенными производными);
• HSB (и ее варианты) применяется для каталогизации и описания цветов;
• L*a*b, наиболее сложная и наиболее «научная» из цветовых моделей, используется преимущественно в технических целях.
Эти четыре цветовые модели называются полноцветными, поскольку могут описать очень большое количество цветов – десятки миллионов оттенков. Человеческий глаз обычно не в состоянии различить «соседние» цвета в полноцветных цветовых моделях: если цвета будут отличаться на одну или две цифры, то нам они будут казаться одинаковыми.
Таким образом, можно считать, что с помощью этих цветовых моделей можно воспроизвести непрерывный диапазон цветов, а не отдельные четко различимые оттенки.
Большое количество оттенков цвета требует большого объема информации, и размер графических файлов, созданных или сохраненных с использованием полноцветных цветовых моделей, будет очень большим. Существуют и более простые варианты записи цвета, которые требуют меньших объемов информации, пусть даже ценой ограниченных возможностей и качества. Такие цветовые режимы широко используются, к примеру, в Интернете, где очень важно добиться минимального размера файлов. Цветовые режимы с «усеченными» возможностями называются неполноцветными.
Основными неполноцветными цветовыми режимами являются:
• Grayscale (Оттенки серого), в котором сохраняется только информация о яркости пикселов, а цвет игнорируется;
• Indexed Color (Индексированный цвет), в котором количество цветов колеблется от 2 до 256 в зависимости от потребностей изображения и баланса между «экономией» и качеством;
• Monochrome (Монохромный), в котором используются только два цвета – например, черный и белый, даже без промежуточных серых оттенков.
В зависимости от графического редактора, с которым мы работаем, названия цветовых режимов могут различаться, или они могут быть представлены не в полном ассортименте, либо даже могут вводиться новые виды (например, режим 16 цветов – один из «стандартов» в веб-дизайне). Однако принципы построения и работы цветовых моделей и режимов незыблемы и не зависят от прихоти разработчика конкретной программы.
Цветовая модель RGB
Основная идея цветовой модели RGB заложена уже в ее названии, которое образовано из первых букв английских названий цветов: Red, Green и Blue (красный, зеленый и синий). Любой цвет может быть «разложен» на эти три базовых компонента и получен заново «смешиванием» базовых цветов в разных комбинациях и с разной интенсивностью.
В качестве «практической» иллюстрации принципа можно привести аналогию с разноцветными фонарями или лампами, которые освещают белый фон. Без освещения фон будет темным (черным), а в зависимости от того, каким из цветов его осветить, фон может казаться красным, зеленым или синим. При освещении двумя «фонарями» одновременно будут появляться новые цвета, а если яркость фонарей неодинакова, то образуются промежуточные оттенки. Наконец, если включить все три фонаря, то фон станет белым (когда смешаются все три основных цвета).
На рис. 2.1 приведены схемы смешения цветов в цветовой модели RGB – цветной (дублируется на цветной вклейке книги) и схематический вариант.
Рис. 2.1. Схема цветовой модели RGB
При записи информации о цвете в модели RGB цвет разделяется на три составляющих и сохраняется яркость, или интенсивность, каждой составляющей, то есть каждого из основных цветов. Обычно интенсивность каждого цвета исчисляется от 0 до 255 (256 градаций), но иногда это число еще увеличивают.
Используя стандартный вариант модели RGB, мы можем записать какой-нибудь цвет примерно в таком виде: R:255 G:150 B:0. Это значит, что для получения записанного нами цвета необходимо использовать красный цвет с максимальной интенсивностью, зеленый – чуть больше половины, а синий не требуется вообще. Из рис. 2.1 мы знаем, что смешение красного и зеленого даст нам желтый цвет; а поскольку зеленый компонент представлен в нашем цвете с меньшей интенсивностью, то это будет не чистый желтый цвет, а с заметным красным оттенком. Наверное, уже все читатели догадались, что приведенные нами цифры соответствуют какому-то оранжевому оттенку. Подобным образом (только, конечно же, более сложным и точным) получаются в модели RGB и все остальные цвета.
Процесс смешения основных цветов и отображения промежуточных оттенков показан в видеоуроке «Цветовая модель RGB», в котором вы можете увидеть не только как взаимодействуют цвета, но и как изображение «составляется» из отдельных цветовых каналов.
Цветовая модель RGB повсеместно используется в компьютерной графике по той причине, что основное устройство вывода информации (монитор) работает именно в этой системе. Изображение на мониторе образуется из отдельных светящихся точек красного, зеленого и синего цветов. Посмотрев на экран работающего монитора через увеличительное стекло, можно разглядеть отдельные цветные точки – а еще проще это увидеть на экране телевизора, поскольку его точки значительно крупнее.
Цветовая модель CMYK
Прочитав предыдущий раздел и познакомившись с законами цветовой модели RGB, читатели могут удивиться: сколько раз в детстве смешивали все краски вместе, а белого не получалось. И не случайно мы приводили в пример фонари, освещающие белый фон. Цветовая модель RGB может использоваться только тогда, когда при смешивании цвета осветляют друг друга – так, как это происходит со светящимися точками на мониторе или потоками света из фонарей.
При печати или при рисовании краски затемняют друг друга. Поэтому, придерживаясь принципа деления цвета на три составляющих, используют другие основные цвета – яркие и светлые. В названии цветовой модели CMYK первые три буквы означают цвета Cyan, Magenta и Yellow (голубой, лиловый и желтый).
Примечание
В отличие от цветов модели RGB, цвета модели CMYK часто называют английскими названиями, а не переводят. Причина этому проста: слово «лиловый» может означать достаточно много разных оттенков, в то время как слово «magenta» означает совершенно конкретный, «типографский» оттенок цвета. Поэтому в русскоязычной литературе можно увидеть английские написания цветов или их транслитерированные варианты – «циан» и «маджента» (желтый так и остается желтым, тут ничего не придумаешь). Типографские работники старой закалки называют цвета по-русски: красный, желтый и голубой (хотя под красным имеют в виду, конечно же, цвет magenta).