Все изображения, с которыми работают программы машинной графики, разделяются на два класса: точечные и векторные.
В терминологии машинной графики (отрасли практической информатики, занимающейся автоматизацией построения изображений и их обработки с помощью компьютеров) точечным изображением принято называть массив пикселов — одинаковых по размеру и форме плоских геометрических фигур (чаще всего — квадратов или кругов), расположенных в узлах регулярной (то есть состоящей из ячеек одинаковой формы и размера) сетки. Для каждого пиксела тем или иным способом задается цвет (обычно цвета кодируются числами фиксированной разрядности). Представление точечного изображения в памяти компьютера — это массив сведений о цвете всех пикселов, упорядоченный тем или иным образом (например, по строкам, как в телевизионном изображении).
Наиболее близким аналогом такого явления виртуального мира, как точечное изображение, в реальном мире является мозаика. Точно так же, как точечное изображение состоит из равномерно расположенных на плоскости элементов одинакового размера и формы — пикселов, — мозаика состоит из отдельных кусочков цветного стекла — смальты. При соблюдении определенных условии (главные из них — небольшие размеры фрагментов смальты и достаточно большое удаление зрителя от поверхности изображения) отдельные кусочки смальты, составляющие мозаичное изображение, не видны — глаз зрителя воспринимает изображение как единое целое.
Примечание
Это явление называется смыканием и играет огромную роль в полиграфии, компьютерной графике и традиционном изобразительном искусстве.
Впоследствии эту идею распространили на живопись импрессионисты, разработавшие технику пуантилизма. Посетив Исаакиевский собор, Храм Воскресения Христова (Спас на крови), Русский музей или Эрмитаж, легко убедиться, что техника работы с точечными изображениями была доведена до совершенства задолго до появления первых компьютеров. Другой пример точечных изображений — получившие в последнее время широкое распространение так называемые «японские кроссворды». Изображение на экране любого компьютерного монитора — точечное, и это хорошо видно через увеличительное стекло. Большинство принтеров воспроизводят на бумаге именно точечные изображения. Векторным изображением в машинной графике принято называть совокупность более сложных и разнообразных геометрических объектов. Номенклатура таких объектов может быть более или менее широкой, но, как правило, в нее включаются простейшие геометрические фигуры (круги, эллипсы, прямоугольники, многоугольники, отрезки прямых и дуги кривых линий). Важнейшая особенность векторной графики состоит в том, что для каждого объекта (или, как мы будем более точно говорить далее, классагеометрических объектов) определяются управляющие параметры, конкретизирующие его внешний вид. Например, для окружности такими управляющими параметрами являются диаметр, цвет, тип и толщина линии, а также цвет внутренней области.
Представление векторного изображения в памяти компьютера сложнее, чем точечного (хотя, как правило, при этом оно намного компактнее). Несколько упрощая, можно считать, что оно представляет собой перечень всех объектов, из которых составлено изображение, причем для каждого объекта указано, к какому классу объектов он принадлежит, и приведены значения всех управляющих параметров. Подобрать аналог векторному изображению в реальном мире не так-то просто. Впрочем, на эту роль вполне может претендовать тот человечек, которого в детстве рисовали, наверное, все, приговаривая: «Точка, точка, запятая, минус, рожица кривая, палка, палка, огуречик...» Последняя фраза, по сути дела, представляет собой перечисление объектов векторного изображения.
Примечание
Из-за того, что в этой фразе отсутствуют какие-либо намеки на значения управляющих параметров, человечки у всех получались разные.
В школьной программе векторные изображения появлялись на уроках геометрии, черчения и математики (графики функций). Тем, кому довелось учиться в технических вузах, приходилось сталкиваться с векторными изображениями на занятиях по аналитической геометрии.
Процесс вывода точечного изображения на экран или бумагу достаточно прост — на экране пикселу соответствует группа из трех частиц люминофора, светящихся различными цветами, принтер изображает пикселы капельками чернил или пятнами тонера (красящего порошка). К устройствам, непосредственно фиксирующим векторные изображения, относятся, пожалуй, только достаточно редко встречающиеся вне стен конструкторских бюро графопостроители. Почти всегда векторное изображение перед выводом (или непосредственно в процессе вывода) преобразуется в точечное — в машинной графике этот процесс называется рендерингом.
Примечание
Ренлеринг представляет собой частный случай операции преобразования векторного изображения в точечное — растрирования (см. урок 17), выполняющийся без сохранения результата в файле.
Из приведенного выше сравнения двух классов изображений может показаться, что с векторными изображениями работать значительно сложнее и что область их применения весьма узкая. Ничуть не бывало. В очень многих случаях решающую роль играют специфические достоинства и недостатки точечных и векторных изображений.
Основной недостаток точечного изображения состоит в фиксированном размере пикселов. Из-за этого при увеличении или уменьшении возникают крайне нежелательные эффекты. При увеличении изображения между плотно «прижатыми» друг к другу пикселами появляется свободное место. Заполнить его, строго говоря, нечем, кроме размещения на свободных местах копий пикселов, находящихся рядом. Это эквивалентно увеличению размера пиксела при увеличении изображения. Однако сильно увеличивать размер пиксела нельзя — слишком крупные пикселы перестанут сливаться в глазу зрителя в однородное изображение, видимость смыкания разрушится. Этот эффект хорошо известен профессиональным фотографам, которые говорят про чрезмерно увеличенную фотографию — «полезло зерно». И в самом деле, сильно увеличенное точечное изображение приобретает отчетливо видимую зернистую структуру, а это хорошо только при создании специфических художественных эффектов. В машинной графике это явление называется искажениями растрирования. При этом под растрированием понимается процесс преобразования векторного изображения в точечное (или одного точечного изображения в другое со сменой характеристик пикселов). При уменьшении точечного изображения с сохранением прежнего размера пикселов неизбежно приходится выбрасывать некоторые пикселы, что приводит к потере части содержащейся в изображении информации. Не спасает положения и уменьшение размеров пиксела, поскольку устройства отображения информации (дисплеи, полиграфические машины и принтеры) все равно не могут воспроизводить слишком маленькие пикселы — в результате детали изображения становятся плохо различимыми.
Более того, оказывается, что размеры точечного изображения при сохранении исходного размера пикселов можно увеличивать лишь кратно — в два, три и т. д. раз. Если это условие не соблюдается, на изображении может возникать муар — волнообразные полосы, точки или клетки. Избавиться от муара, не искажая само изображение, не так-то просто.
Второй, не менее существенный недостаток точечных изображений состоит в отсутствии внутренней структуры, соответствующей структуре изображенных объектов. Попробуем разобраться в этом на примере. Если на точечном изображении мы видим мужчину в галстуке-бабочке и со значком на лацкане, это — результат работы нашего мозга, выделившего в изображении такие объекты, как значок и галстук. Чтобы идентифицировать соответствующие этим объектам пикселы при работе с программой редактирования точечной графики, придется немало потрудиться. Если при работе над изображением необходимо удалить значок, то после этого придется еще как-то заполнять образовавшуюся после удаления пикселов значка «дыру» в изображении — фактически, дорисовывать его. Еще больше мороки возникает при необходимости слегка поправить покосившийся галстук.
Третий недостаток точечных изображений — большой объем памяти, требующейся для их хранения. При работе с точечными изображениями высокой четкости и сравнительно большого размера нередки случаи, когда размеры соответствующих им файлов составляют сотни мегабайт. Работа с такими громоздкими объектами зачастую оказывается не под силу даже самым современным и мощным компьютерам.
Векторное изображение существенно более гибко в работе. Чтобы увеличить или уменьшить его, требуется всего лишь изменить один управляющий параметр изображения в целом — масштаб. При этом размер файла с векторным изображением не увеличится ни на один байт. Внесенные изменения будут учтены при рендеринге, и четкость изображения не пострадает. На рис. 1.1 представлены результаты увеличения точечного и векторного изображения.
Рис. 1.1. Векторное изображение (слева) можно, в отличие отточенного (справа), масштабировать без потери четкости и деталей
В отличие от точечного изображения степень структуризации векторного изображения может быть произвольной. Она определяется создающим его художником. Как мы увидим в последующих уроках, составляя изображение значка на лацкане из двух кругов и текстовой надписи, можно объединить эти объекты в группу и даже дать ей имя «Значок», чтобы потом было легче найти эти объекты. Удаление этой группы приведет к исчезновению значка, но не к возникновению «дыры» на пиджаке — ведь изображение пиджака составлено из других объектов, которые просто станут видны в том месте, где раньше был значок. Не составляет проблемы и «поправить галстук» — достаточно изменить значение угла поворота группы объектов, из которых составлено его изображение. Размеры файлов с векторными изображениями в большинстве случаев намного меньше размеров файлов с изображениями точечными.
В заключение сравнительного анализа классов изображений отметим, что преобразование векторного изображения в точечное (растрирование или рендеринг) представляет собой достаточно простой и абсолютно формальный процесс, выполняющийся большинством программ машинной графики без вмешательства пользователя. Преобразование же точечного изображения в векторное (векторизация или трассировка) в подавляющем большинстве случаев требует не просто вмешательства, а творческого участия пользователя (подробнее об этом — в уроке 17). Напрашивается очевидный вывод: при разработке иллюстративного графического проекта, независимо от того, к какому классу должно принадлежать итоговое изображение, начинать целесообразнее с векторного изображения — тем более что в CorelDRAW 11 имеется мощный арсенал средств и для работы с точечными изображениями.
Примечание
Конечно, из этого, как и почти из любого правила, есть исключения. Если в процессе работы над проектом требуется проводить с предоставленными в качестве исходного материала точечными изображениями сложную цветовую коррекцию (с избирательным подходом к его различным участкам), выполнять размывание или применять сложные точечные эффекты, а добавлять к ним новые фрагменты изображения не требуется, тогда удобнее с самого начала работать над проектом в программе точечной графики вроде Corel PhotoPaint или Adobe Photoshop.