Текст книги "Открытые и бесплатные программы для Windows"
Автор книги: Николай Колдыркаев
Жанр: Программы, Компьютеры
сообщить о неприемлемом содержимом
Текущая страница: 14 (всего у книги 22 страниц)
Совсем недавно в Inkscape появились мощные инструменты, применяемые для дизайнерских работ. Одним из них являются Градиенты, которые появились в версии 0.42 (на прилагаемом компакт-диске вы найдете версию 0.44).
Градиенты – это очень важный компонент, позволяющий оживить не только плоские векторные, но и растровые объекты. Изучив базовые методы создания и редактирования градиентов, вы сможете создавать профессиональные рисунки, сопоставимые с фотореалистическими изображениями.
Градиентом называется плавный переход между двумя и более цветами. При этом в стандарте SVG, который реализует Inkscape, понятие «цвет» включает в себя и альфа-канал, управляющий прозрачностью. По умолчанию при создании нового градиента именно для этого канала применяется плавное изменение значений яркости на разных участках объекта. Но вы можете менять не только уровень прозрачности, но и цвет начальной и конечной точки, а также всех добавленных вами промежуточных точек.
Итак, для того чтобы создать градиент, прежде всего нарисуйте нужный объект, например, прямоугольник. Затем выберите инструмент Градиент (<Ctrl>+<Fl>), поместите курсор мыши над тем местом объекта, где будет начало цветового перехода (исходный цвет), нажмите кнопку мыши и протащите курсор до конечной (по умолчанию – самой яркой).
На рис. 9.38 показан самый простой пример градиента. Изначально этот прямоугольник был залит равномерным бордовым цветом. Градиент плавно изменил степень его прозрачности с абсолютно непрозрачного до полностью прозрачного, что на белом фоне выглядит, как постепенное осветление цвета. На другом фоне результат был бы другим. Поэтому может возникнуть необходимость жестко задать цвет начальной и конечной точки.
Рис. 9.38. Для создания простого градиента достаточно с помощью инструмента Градиент выбрать начальную (слева) и конечную (справа) точки. Их еще называют узловыми точками или просто узлами градиента
Сделать это очень просто. Щелкните на нужном узле и выберите пункт меню Объект | Заливка и штрих или нажмите <Shift>+<Ctrl>+<F>. Можно также воспользоваться пунктом меню Объект | Образцы цветов (<Shift>+<Ctrl>+<W>), Пипеткой (<F7>) или Палитрой цветов в нижней части окна Inkscape (если ее нет, включить ее можно при помощи пункта меню Вид | Показать или спрятать | Палитра цветов).
Узловые точки можно перемещать, направление и длина градиента будут меняться соответственно. При этом его прорисовка будет происходить в реальном времени, вы сможете «поиграть» с градиентом и нащупать нужный вам эффект перехода. Попробуйте, например, изменить направление градиента с горизонтального на вертикальное, расположив опорные точки одну над другой. Диагональный градиент можно получить, расположив узловые точки в противоположных углах нашего прямоугольника.
Кроме линейных существует еще один тип градиента – радиальный или эллиптический. Опорная точка у него одна – центр эллипса. Роль второй точки выполняют два взаимно перпендикулярных радиуса – у них один цвет на двоих. Внутри эллиптического градиента также могут быть опорные точки, но они могут менять свое расположение только в пределах и только в пропорциях установленных радиусов. Редактирование опорных точек можно осуществлять при помощи диалога Редактор градиентов (кнопка Изменить на панели параметров инструмента Градиент) так, как показано на рис. 9.39.
Рис. 9.39. Диалог Редактор градиентов позволяет раскрасить эллиптический градиент буквально во все цвета радуги
Кнопка Добавить опорную точку в Редакторе градиентов создает промежуточную ступень ровно посередине градиента. Ее положение можно изменить при помощи ползунка Смещение. Вы можете выбрать абсолютно любой цвет опорной точки и степень ее прозрачности.
Используя прозрачные градиенты, вы сможете создавать поразительные эффекты. Вы даже можете совмещать залитые градиентом векторные объекты с растровыми, чтобы, например, растушевать края фотографии на открытке. Эту технологию иллюстрирует рис. 9.40.
Рис. 9.40. Градиенты прозрачности можно использовать для создания цветовых эффектов. Здесь приведен самый простой пример – применение градиентов для растушевки краев фотографии
При помощи функции импорта (Файл | Импортировать или <Ctrl>+<I>) поместите в рисунок растровое изображение (например, в формате JPEG, TIFF или BMP). Затем на один из краев фотографии положите белый прямоугольник (очень важно, чтобы исходная точка градиента имела цвет фона). Теперь создайте градиент от внешнего края белой полосы в сторону фото.
Операцию можно повторить для каждой стороны карточки, но лучше просто размножить (или клонировать) существующий градиент с последующим поворотом или отражением. Эти операции я подробно рассматривал в предыдущем разделе на примере создания объявления. Если вы не знаете, как поворачивать и отражать объекты, прочтите этот раздел.
В принципе, перечисленных выше функций достаточно для того, чтобы выполнять простые работы, вроде создания объявлений, открыток и визиток. Но данный редактор трудно было бы назвать профессиональным, если бы в нем не было функции создания и редактирования кривых и контуров. Далее мы рассмотрим работу с самым гибким инструментом Inkscape.
Контуром в векторных редакторах называется последовательность узлов (точек), соединенных прямыми или изогнутыми линиями – сегментами. Изогнутая линия называется кривой Безье. Степень ее изогнутости зависит от параметров начальной и конечной точки, которые называются манипуляторами. Манипулятор задает направление и степень кривизны прилегающего сегмента или двух, если сегменты расположены с двух сторон. Контур может быть открытым (как, например, буква С) или замкнутым (как буква О).
С помощью контура можно начертить любую двухмерную фигуру, будь то простой треугольник или художественное произведение с десятками тысяч узлов. Вообще, все, что вы создаете в Inkscape, или является контуром, или может быть в него преобразовано. Растровые изображения и текст хоть и не являются ортодоксальными векторными объектами, но их тоже можно перевести в векторный формат. Но об этом – в следующем разделе.
Сейчас же давайте нарисуем несколько простых контуров, чтобы иметь представление о том, с чем постоянно приходится иметь дело при редактировании векторной графики. Для рисования контуров в Inkscape можно использовать любой из трех инструментов рисования, расположенных под спиралью на панели команд. Эти инструменты (карандаш, ручка и перо) позволяют выполнять следующие действия.
• Рисовать произвольные контуры. Нажмите кнопку с изображением карандаша или клавишу <F6> и рисуйте так, как вы привыкли это делать на бумаге – Inkscape будет отслеживать передвижения мыши или другого указующего устройства, с максимальной точностью выводя соответствующую кривую. В процессе рисования не беспокойтесь насчет неровностей – их можно будет исправить.
• Рисовать кривые Безье и прямые линии (авторучка или <Shift>+<F6>). Это более точный инструмент. Пользуются им следующим образом: для создания плавной кривой нажмите кнопку мыши и слегка потяните – вы нарисовали первый манипулятор, который будет определять кривизну линии, теперь поставьте вторую точку и также плавно потяните. Это второй узел – у вас получился первый сегмент. Дальнейшие действия те же – просто создавайте узлы, которые направят затем кривую в нужную сторону. Можно также просто ставить точки – тогда у вас получится ломаная кривая (манипуляторы можно будет достать из узловой точки, удерживая <Shift>). Нужно немного практики, чтобы привыкнуть к этому инструменту, почувствовать его. Для начала постарайтесь вывести окружность или создать круг с помощью соответствующего инструмента (<F5>), а затем обвести его с помощью кривой Безье. Замкнуть контур можно, щелкнув по исходной точке;
• Рисовать каллиграфическим пером (<Ctrl>+<F6>) – самый веселый способ создания контуров. Дело в том, что у этого инструмента множество интересных параметров – ширина пера, угол наклона штриха, сужение при быстром рисовании и пр. Умело используя перо, вы сможете создавать очень красивые надписи и рисунки. Принципиальное отличие каллиграфического пера от произвольных контуров и кривых Безье состоит также в том, что в результате всегда получается замкнутый контур.
Чтобы понять, как работают манипуляторы кривых Безье, выполните простое упражнение – нарисуйте контур сердца так, как показано на рис. 9.41. Вам нужно создать всего две узловые точки (верхнюю и нижнюю) и замкнуть контур. Для начала поставьте нижнюю точку, затем выберите место для верхней точки, нажмите кнопку мыши и потяните в сторону. Я рекомендую удерживать при этом <Ctrl>, тогда манипуляторы будут расположены строго горизонтально. Замкните контур – должна получиться перевернутая дождевая капля. Теперь нужно просто немного изменить направление манипуляторов. Для этого служит инструмент редактирования узлов – второй на панели инструментов (Редактировать узлы контура или усы узлов – <F2>).
Рис. 9.41. Символическое изображение сердца состоит всего из двух узловых точек. Узловые манипуляторы или «усы» определяют направление и степень искривления сегментов
Выберите верхнюю точку. У нее два горизонтальных манипулятора, направленных в разные стороны. Если за них потянуть сейчас, то они будут менять направление одновременно, т. к. образуют гладкий узел. Этот тип узла предназначен для создания гладких изгибов, а нам нужно создать уголок, поэтому выберите острый тип узла на панели параметров инструмента.
Теперь можно двигать манипуляторы по отдельности – вытяните их в стороны и немного вверх (удерживая <Ctrl>, можно менять угол наклона с шагом в 15 градусов). Получилось немного худосочное сердце – чтобы придать ему приятную округлость форм, просто повторите с нижним узлом все те же манипуляции, что и с верхним.
Трассировка и редактирование контуров – это одна из самых распространенных задач профессионального дизайнера. Суть ее состоит в том, что исходное растровое изображение требуется перевести в векторный виц. Для достижения этой цели есть два пути: применение специальных средств трассировки или импортирование растрового изображения в векторный редактор и обводка контура вручную. В редакторе Inkscape вы можете делать и то и другое.
Текст или стандартную фигуру легче всего преобразовать в контур. Для этого достаточно выбрать пункт меню Контуры | Оконтурить объект или нажать сочетание клавиш <Shift>+<Ctrl>+<C>. Но зачем это нужно?
Во-первых, большинство газет и журналов принимают рекламные макеты только в векторной форме, поэтому, если вы готовите рекламный модуль, будьте готовы к тому, что вам придется преобразовать весь текст в контуры.
Во-вторых, даже если вы просто хотите разместить ваш рисунок во Всемирной паутине, формат SVG вовсе не гарантирует абсолютно идентичное отображение текста на разных платформах. Даже если там есть аналогичные шрифты, они будут отличаться, и форматирование "поплывет".
И наконец, при создании таких элементов дизайна, как логотип, довольно часто прибегают к намеренному видоизменению одной из букв или всего названия в целом. В этом смысл логотипа – писать название по-своему. В общем, преобразование текста в контур бывает делом не только нужным и полезным, но и необходимым. Главное в этом деле – сохранить исходную версию макета, чтобы вы могли внести изменения, не набирая заново куски текста.
Теперь давайте обстоятельно поговорим о гораздо более сложном процессе – переводе растровых изображений в векторный формат. Магистр Йода из "Звездных войн" сказал бы так: "Трассировка растра – искусство, и великая сила в нем кроется. Хмм… Научившись этому, сможете то, что невозможным казалось ранее".
В моей практике был случай, когда заказчик прислал эмблему Федерации кикбоксинга по факсу и просил ее "почистить и поставить на грамоту для награждений", причем с обязательным фольгированием. Отказать в небольшой услуге профессиональному кикбоксеру трудно, тем более что он аккуратно оплатил все услуги согласно прейскуранта. Пришлось сканировать и обводить изображение вручную, ибо существовавшие на тот момент средства трассировки оказались неспособными перевести в векторный вид картинку наисквернейшего качества размером с двухрублевую монету.
Теперь трассировка растровых изображений стала обычной функцией профессиональных редакторов векторной графики. В программе Inkscape для этого используется специальный подключаемый модуль, который анализирует исходное растровое изображение и создает на его основе контур. Его иногда называют путем — от английского названия элемента SVG <path> (тоже красивое название, жаль, что не прижилось). Перед тем как использовать эту функцию, я вкратце расскажу, как она работает.
В доступной на диске версии Inkscape используется механизм трассировки Potrace (potrace.sourceforge.net) Питера Сэлинджера. Многие сходятся на том, что это одна из лучших свободно распространяемых утилит, и по ряду причин она более всех подходит для использования с Inkscape, хотя у разработчиков есть планы добавить возможность вызова и другой программы для трассировки картинок.
Единственное, что стоит иметь в виду, так это то, что ни одна программа трассировки не гарантирует стопроцентного сходства с растровым оригиналом. В результате трассировки вы получаете лишь набор кривых, более или менее точно повторяющих очертания трассируемого рисунка.
Полезный совет
Лучше всего Potrace интерпретирует изображения, выполненные в двух цветах – черном и белом, или однобитные. Что касается цветных изображений и картинок в оттенках серого, то Inkscape сперва преобразует их в нечто такое, что Potrace сможет "переварить".
В общем, чем более контрастной будет картинка и чем больше на ней будет темных точек, тем выше вероятность того, что Potrace создаст правильный контур. Кроме того, от сложности картинки зависит время выполнения трассировки. Чем больше элементов на вашей картинке, тем сильнее будет нагрузка на центральный процессор, и тем обширнее будет содержимое элемента <path> в выходном SVG-коде. Рекомендуется приводить исходные изображения к сбалансированному сочетанию темных и светлых областей.
Итак, для выполнения трассировки загрузите или импортируйте растровое изображение, выделите его и выберите пункт меню Контуры | Векторизовать растр или нажмите сочетание клавиш <Shift>+<Alt>+<B>. В открывшемся диалоговом окне Векторизовать растр вы увидите настройки Potrace. На рис. 9.42 представлен диалог, в котором можно выбрать метод трассировки.
Рис. 9.42. Если растровое изображение выполнено в одном, достаточно темном для эффективной растеризации цвете, то в диалоге Векторизовать растр лучше всего использовать настройки Potrace по умолчанию
В качестве примера для демонстрации механизма трассировки я выбрал рисунок с изображением головы GNU. Голова GNU является историческим символом всех открытых программ вообще и организации «Free Software Foundation» в частности. Говорят, она чем-то напоминает Ричарда Столлмана, создателя лицензии GNU GPL. Кроме того, она отлично подходит для иллюстрации возможностей инструмента трассировки Inkscape. Добыть голову GNU вы можете на сайте www.gnu.org. Я же использовал OpenOffice.org Clipart.
Первый же метод трассировки с настройками по умолчанию замечательно подходит для моего примера, поскольку изображение представляет собой рисунок с преобладанием черных тонов, сохраненный, тем не менее, в оттенках серого, по всей видимости, чтобы сохранить сглаживание. То, что нужно для удачной трассировки по степени яркости!
Результат трассировки головы GNU представлен на рис. 9.43. Это контур, состоящий из 1986 объектов. Не слишком ли много? Нет, если изображение будет использоваться в исходном или увеличенном размере. Если же вы задумали использовать векторный рисунок в качестве небольшой эмблемы (известны случаи, когда голову GNU наносили даже на банковские карты), то контур можно существенно упростить, сократив количество узлов при помощи пункта меню Контуры | Упростить или сочетания клавиш <Ctrl>+<L>.
Рис. 9.43. Это изображение головы GNU трассировано с настройками по умолчанию. Получившийся контур содержит 1986 узлов. Просто мистика какая-то!
Сокращать количество узлов после трассировки имеет смысл лишь один или два раза. В нашем примере многократное упрощение приведет к существенному ухудшению качества, поэтому я выполнил его только один раз. Это упрощение продиктовано здравым смыслом. Разницы, как можно увидеть на рис. 9.44, почти нет, а редактировать значительно легче. Кроме того, масштабирование и перемещение получившегося контура теперь происходит быстрее, ведь системных ресурсов, необходимых для его обработки, теперь используется меньше.
Рис. 9.44. Упрощенный контур может выглядеть не хуже оригинала, потребляя при этом в три раза меньше системных ресурсов
Если у вас достаточно мощный процессор и много памяти, то вы можете себе позволить контуры с десятками и сотнями тысяч узлов, но подумайте о том, что будет при открытии вашего файла на более слабых компьютерах. На ранних моделях процессора Celeron такой файл или не откроется вовсе, или же будет открываться целую вечность.
Кстати
Именно в 1986 г. появилась первая версия свободной лицензии GNU GPL. Такое же количество узлов получилось при трассировке растровой версии головы GNU. Является ли это простым совпадением, мистикой или загадочным кодом Столлмана, автору этих строк неизвестно.
Не все рисунки так же хороши для трассировки, как голова GNU. Поэтому для правильного определения областей Potrace, которые нужно включить в контур, существует несколько методов, предоставляемых диалогом Векторизовать растр.
• Яркость изображения служит основным ориентиром для трассировки растровых изображений. Этот метод основан на определении максимального значения яркости точек, включаемых в контур. Например, если в диалоге Векторизовать растр установить порог яркости равным 0,500, то в контур попадут все области, яркость которых менее 50 %. На рис. 9.45 показано, как добиться того, чтобы серый цвет также попадал в контур.
Рис. 9.45. Увеличив порог чувствительности при трассировке по яркости, вы можете включить в контур детали, залитые серым цветом
• Оптимальное определение краев – алгоритм, разработанный программистом Дж. Кении (J. Canny) для быстрого нахождения контрастных границ. Полученный в результате контур получается мало похожим на тот, что дает метод определения яркости, зато может «вытащить» из изображения больше информации. Установка большего порога определения краев делает контур тоньше. На рис. 9.46 можно увидеть, что результат трассировки этим методом напоминает технику рисования «эстамп».
Рис. 9.46. Определение краев – очень непростой метод трассировки. Вы можете обнаружить новые грани даже в самом примитивном, на первый взгляд, рисунке
• Квантование / Сокращение – метод, при котором изображение делится на заданное количество цветов, в контур включаются наиболее яркие точки каждого из них, подобно методу Яркость изображения. В результате получается контур, напоминающий негатив, но вы можете инвертировать контур при помощи опции Инвертировать.
• Многократное сканирование – самый мощный метод трассировки, при котором создается несколько промежуточных изображений и несколько контуров. Многократное сканирование с включенной опцией Цвет удобно применять к цветным изображениям. В соответствующем поле нужно указать лишь минимально необходимое количество Сканирований (оно будет соответствовать количеству цветов). Potrace не только создаст контуры для каждого распознанного цвета, но и зальет их и наложит один на другой в наиболее оптимальном порядке.
Рис. 9.47. Многократное сканирование по заданному количеству цветов позволяет получить цветную векторную картинку, неотличимую от оригинала
Каждый из методов хорош по-своему, вам нужно лишь немного поэкспериментировать с различными изображениями, чтобы понять какой метод лучше использовать в том или ином случае. Для простых черно-белых изображений используйте метод яркости, для изображений в оттенках серого или цветных попробуйте квантование или определение краев. Для контрастных цветных изображений (рисунки, карты) отлично подходит многократное сканирование по цветам.
Теперь пару слов о редактировании трассированных контуров. Я рекомендую всегда пытаться упростить получившееся векторное изображение. Помните о том, что в большинстве случаев нужно не просто создать векторную копию, но и многократно ее использовать. Сохраняйте большое количество узлов только в крайнем случае, когда векторное изображение теряет качество при упрощении, а вы намерены использовать его как основной и самый большой элемент композиции.
Упрощение контура не только ускоряет его обработку, но и облегчает редактирование узлов. При необходимости вам будет гораздо удобнее выделить и модифицировать два-три узла, чем 12–13.
Правообладателям!
Это произведение, предположительно, находится в статусе 'public domain'. Если это не так и размещение материала нарушает чьи-либо права, то сообщите нам об этом.