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