bulia byak, buliabyak@users.sf.net и Josh Andler, scislac@users.sf.net

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

Используйте Ctrl+стрелки, колесо мыши или перемещение с нажатой средней клавишей мыши для просмотра текста. Для получения начальных знаний о создании объектов, их выделении и изменении их форм смотрите урок «Основы» в меню Справка > Учебник.

Способы вставки

После того как вы скопируете какой-нибудь объект, используя Ctrl+C, или вырежете его при помощи Ctrl+X, обычная команда «Вставить» (Ctrl+V) вставит скопированный объект(ы) точно под курсор мыши или, если курсор находится за пределами окна, в центр документа. Вместе с тем, находящийся в буфере обмена объект «помнит» своё исходное местоположение. Благодаря этому, его можно вставить обратно, используя команду «Вставить на место» (Ctrl+Alt+V).

Команда «Вставить стиль» (Shift+Ctrl+V) применяет стиль (первого) объекта из буфера к выбранному в данным момент объекту или группе объектов. Стиль включает в себя заливку, обводку и параметры шрифта, но не размер и не параметры фигуры (такие как количество вершин в звезде и т.п.).

Ещё одна группа команд — «Вставить размер» — масштабирует выделение до его совпадения с размером скопированного объекта. Доступны следующие команды: «Вставить размер», «Вставить ширину», «Вставить высоту», «Вставить размер раздельно», «Вставить ширину раздельно» и «Вставить высоту раздельно».

Команда «Вставить размер» подгоняет размер выделения под размер скопированного объекта (или объектов). Команда «Вставить ширину/высоту» масштабирует всё выделение по горизонтали или вертикали до совпадения с шириной или высотой скопированного объекта (объектов). Эти команды учитывают фактор запертости соотношения сторон в панели настроек инструмента выделения (между полями Ш и В). Поэтому, когда соотношение сторон заперто, выбранный объект масштабируется с сохранением пропорций; в противном случае вторая сторона не меняется. Команды, содержащие в названии «раздельно», работают точно так же, с той лишь разницей, что каждый объект масштабируется отдельно до совпадения с размером/шириной/высотой объекта (объектов) в буфере обмена.

В Inkscape используется системный буфер обмена, поэтому вы можете переносить объекты как между разными копиями Inkscape, так и из Inkscape в другое приложение и обратно (при условии, что это другое приложение поддерживает SVG в буфере обмена).

Рисование произвольных линий и кривых Безье

Простейший путь создать произвольную фигуру — нарисовать её при помощи карандаша («Рисовать произвольные контуры» в меню слева (F6)):

An example image

Если хотите получить более правильные фигуры, используйте перо (инструмент «Рисовать кривые Безье и прямые линии» в меню слева (Shift+F6)):

An example image

При использовании пера каждый щелчок (короткое нажатие левой кнопки мыши) создаёт острый узел без возможности управлять изгибом (без узлов управления). Таким образом, серия щелчков создаёт последовательность из прямых отрезков линии. Щелчок и смещение создаёт гладкий узел Безье с двумя узлами управления, лежащими на одной линии, но направленными в разные стороны. Нажмите Shift при перемещении узла управления, чтобы крутить только один рычаг и зафиксировать другой. Кроме того, Ctrl ограничивает поворот рычагов шагами по 15 градусов. Нажатие Enter заканчивает линию, Esc отменяет её. Для отмены только последнего сегмента незаконченной линии нажмите Backspace.

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

Редактирование контуров

В отличие от фигур, созданных инструментами фигур, перо и карандаш создают так называемые контуры. Контур — это последовательность отрезков прямых линий и/или кривых Безье, которая как и любой другой объект в Inkscape может иметь собственные параметры заливки и обводки. В отличие от фигур контур может свободно редактироваться смещением любого из его узлов (а не только предустановленных рычагов) или перетаскиванием его сегмента. Выберите этот контур и включите инструмент редактирования узлов (F2):

An example image

Вы увидите несколько серых квадратов на контуре — узлов. Эти узлы могут быть выбраны разными способами: щелчком мыши, Shift+щелчок или тянущимся выделением — точно так же, как объекты выделяются обычным инструментом выделения. Вы также можете щёлкнуть мышью по сегменту контура для автоматического выбора соседних узлов. Выбранные узлы становятся выделенными и показывают свои рычаги — один или два кружка, соединённых с выбранным узлом отрезком прямой линии. Клавиша ! обращает выделение узлов в текущем субконтуре (или субконтурах, т.е. субконтурах с как минимум одним выбранным узлом); Alt+! обращает весь контур.

Контуры редактируются перетаскиванием своих узлов и рычагов управления (попробуйте подвигать узлы и рычаги узлов у пути что выше). Ctrl работает обычно ограничителем в движении и повороте. Кнопки стрелок, Tab, [, ], <, > и их модификаторы работают так же как и с инструментом выделения, но вместо объектов применяются к узлам. Вы можете вставлять узлы в любую часть контура двойным щелчком мыши или комбинацией клавиш Ctrl+Alt+щелчок в нужной точке контура.

Вы можете стирать узлы нажатием Del или Ctrl+Alt+Click. При удалении узлов программа попытается сохранить фигуру контура. Если вы этого не хотите, используйте комбинацию Ctrl+Del. Кроме того, вы можете продублировать выбранные узлы (Shift+D). Контур можно разорвать на месте выбранного узла (Shift+B), а разбив, соединить обратно, выбрав концы контура и нажав Shift+J.

Каждый узел может быть острым (Shift+C) — оба рычага узла могут двигаться под любым углом независимо друг от друга; сглаженным (Shift+S) — рычаги узла всегда находятся на прямой линии и взаимозависимы при повороте; симметричным (Shift+Y) — почти то же самое, что и сглаженные рычаги, но эти рычаги ещё и одинаковой длины. При смене типа узла вы можете сохранить позицию одного из двух рычагов, держа над ним курсор мыши так, что только один рычаг поворачивается/масштабируется до совпадения.

Вы также можете втягивать рычаги в узел при помощи комбинации Ctrl+щелчок на рычаге. Если рычаги у двух соседних узлов втянуты, этот сегмент пути будет отрезком прямой линии. Чтобы вытащить рычаги наружу, нужно нажать Shift+перемещение и потянуть рычаг в сторону от узла.

Субконтуры и их объединение

Объект контура может состоять из более чем одного субконтура (subpath). Субконтур — это последовательность соединённых друг с другом узлов. Поэтому, если у контура больше одного субконтура, то не все узлы контура соединены друг с другом. Внизу слева контур состоит из трёх субконтуров, такие же три субконтура справа являются независимыми объектами-контурами:

An example image

Но контур, состоящий из субконтуров, не является группой объектов. Это единый объект, выделяемый как целое. Если выбрать левый верхний объект и включить инструмент правки узлов, то узлы отобразятся на всех трёх субконтурах. Справа же можно редактировать только один из контуров.

Inkscape может объединять контуры в составной контур (Ctrl+K) и разбить составной контур на отдельные контуры (Shift+Ctrl+K). Опробуйте эти команды на приведённых выше примерах. Поскольку параметры заливки и обводки у объекта индивидуальны, новообъединённый контур берёт параметры первого объекта из объединения (нижнего по оси Z).

Когда объединяются перекрывающие друг друга контуры с заливкой, в местах перекрытия заливка исчезает:

An example image

Это простейший способ создавать объекты с дырками внутри. Более мощные команды по работе с контурами описаны чуть ниже в разделе «Логические операции».

Оконтуривание (преобразование в контур)

Любая фигура или текстовый объект могут быть преобразованы в контур (оконтурены) (Shift+Ctrl+C). Эта операция не меняет видимость объекта, но меняет все его специфические свойства (т.е. вы не можете округлить углы прямоугольника или редактировать текст), и теперь вам доступно редактирование их узлов. Ниже изображены две звезды: левая является фигурой, в то время как правая преобразована в контур. Переключитесь на инструмент редактирования узлов и, выбрав объекты, сравните их возможности:

An example image

Кроме того, вы можете преобразовывать в контур обводку любого объекта. Первый объект внизу — просто контур (без заливки с чёрной обводкой), второй же — результат действия команды Оконтурить обводку (результат — чёрная заливка без обводки):

An example image

Логические операции

Команды в меню Контур позволяют вам объединять два и более объекта, используя логические операции:

An example image

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

Использование команды «Исключающее ИЛИ» выглядит похожим на команду «Объединить» (см. выше), но разница заключается в том, что «Исключающее ИЛИ» добавляет узлы в местах пересечения изначальных контуров. Разница между командами «Разделить» и «Разрезать контур» состоит в том, что первая разрезает целостность нижнего объекта контуром верхнего объекта, в то время как вторая режет только обводку нижнего объекта и убирает заливку (это удобно для разрезания обводок незалитых объектов).

Втягивание и вытягивание

Inkscape может сжимать и растягивать фигуры не только меняя их размер, но и при помощи смещения контура объекта, т.е. смещая их перпендикулярно контуру в каждой точке. Соответствующие команды называются «Втянуть» (Ctrl+() и «Вытянуть» (Ctrl+)). На рисунке ниже в качестве примера изображён изначальный контур (красный) и несколько вытянутых и втянутых копий:

An example image

Сами команды «Втянуть» и «Вытянуть» просто создают контуры (преобразуя изначальный объект в путь, если он не является таковым). Чаще, более удобным является использование команды «Динамическая втяжка» (Ctrl+J). Эта команда создаёт объект с рычагом (узел, как у обычных фигур), который контролирует расстояние смещения. Чтобы понять, что к чему, выберите нижний объект, переключитесь на инструмент редактирования узлов и подвигайте рычаг:

An example image

Подобный объект с динамической втяжкой запоминает изначальный контур, так что не бойтесь — он не «поломается» от ваших смещений. Если вам больше не нужно, чтобы объект был корректируем, вы всегда можете преобразовать его обратно в контур.

Ещё одна удобная команда — это «Связанная втяжка», которая схожа с динамической, но отличается тем, что связанные контуры остаются редактируемыми. Вы можете иметь сколь угодно большое количество связанных втяжек от одного исходного контура. Ниже показан контур-источник (красный), одна из привязанных втяжек имеет чёрную обводку без заливки, другая — чёрную заливку без обводки.

Выберите красный объект и подвигайте его узлы; понаблюдайте за реакцией привязанных объектов. Теперь выберите один из привязанных объектов и подвигайте рычаг. В заключение обратите внимание на поведение привязанных объектов в момент редактирования источника и на то, что раздельное редактирование привязанных объектов оставляет их привязанными к источнику.

An example image

Упрощение

Основное применение команды «Упростить» (Ctrl+L) — это сокращение количества узлов у контура при сохранении его исходной фигуры (по возможности). Это может быть полезным для контуров, созданных карандашом, так как карандаш иногда создаёт слишком много узлов. Левая фигура на нижнем рисунке создана при помощи карандаша, а правая — это копия левой с последующим упрощением. У исходного контура было 28 узлов, в то время как упрощённый контур глаже и содержит всего 17 узлов (это упрощает работу с объектом при редактировании узлов).

An example image

Количество упрощений (так называемый порог) зависит от размера выделения. Следовательно, если вы выберете путь одновременно с большим объектом, то контур будет упрощаться резче, нежели если бы он был выбран один. Более того, команда Упростить ускоряемая. Это значит, что если быстро (один раз в полсекунды) нажимать Ctrl+L несколько раз подряд, порог упрощения увеличится (после небольшой паузы порог упрощения вернётся в изначальное значение). С использованием этого ускорителя очень легко получить необходимое упрощение в каждом конкретном случае.

Помимо сглаживания карандашных линий команда Упростить может быть использована для разных творческих эффектов. Зачастую, угловатая фигура выигрывает от небольшого упрощения, приобретая более жизненную форму за счёт натурального искажения, сглаживающего острые углы и создающего когда стильный, а когда и просто забавный эффект. Ниже приведён пример, в котором картинка после использования команды Упростить выглядит значительно лучше:

An example image

Создание текста

Inkscape умеет создавать длинные и сложные тексты, но также прекрасно подходит для создания маленьких текстовых объектов, вроде баннеров, логотипов, диаграмм, этикеток, заголовков и т.п. Этот раздел урока даёт начальные знания о возможностях инструмента для работы с текстом.

Создать текстовый объект так же легко, как выбрать инструмент для работы с ним (кнопка слева «Создавать и править текстовые объекты» (F8)). Щёлкните мышью по любой области документа и введите текст. Есть два способа изменить шрифт, его стиль, размер и наклон. Первый, наиболее очевидный — выделить текст и изменить его параметры через панель настроек инструмента Текст. Второй — открыть диалог Текст и шрифт (Shift+Ctrl+T). В этом диалоге есть вкладка Текст, в которой вы можете редактировать выбранный текст. Иногда это удобнее, чем редактировать его в рамке на холсте (заслуживает отдельного внимания то, что в этом окне работает автоматическая проверка орфографии).

Как и другие инструменты, инструмент Текст может выбирать объекты своего типа — текстовые объекты — поэтому, вы можете щелчком мыши выбрать текстовый объект и, установив курсор, начать изменять текст (например, этот абзац).

Одно из самых обыкновенных действий в текстовом дизайне  — это регулирование расстояния между буквами и линиями. В Inkscape для этого есть горячие клавиши. В момент редактирования текста нажатие Alt+< и Alt+> изменит межсимвольный интервал на этой линии текстового объекта, так что длина линии изменится на один пиксел этого масштаба (как и при работе с обычными выделениями, эти кнопки отвечают за попиксельное изменение размера). Как правило, если кегль шрифта больше изначального, небольшое сужение расстояния между буквами украсит внешний вид документа. Вот пример:

An example image

Суженный вариант выглядит немного лучше, но по прежнему не идеально: межсимвольное расстояние не одинаково, например буквы "a" и "t" слишком далеки друг от друга, в то время как "t" и "i" слишком близки. Количество подобных изъянов (особенно заметных при больших кеглях шрифта) больше у шрифтов низкого качества, нежели чем у шрифтов высокого качества. Но, честно говоря, в любом тексте с любым шрифтом вы, вероятно, найдёте пары букв, кернинг которых можно было бы улучшить.

В Inkscape вносить подобные коррекции действительно просто. Поместите курсор текстового инструмента между раздражающими символами и используйте Alt+стрелки для смещения букв справа от курсора. Ниже показан тот же заголовок, но уже с ручной коррекцией:

An example image

В дополнение к горизонтальному смещению символов комбинациями Alt+левая стрелка или Alt+правая стрелка вы также можете смещать символы по вертикали комбинациями Alt+верхняя стрелка или Alt+нижняя стрелка:

An example image

Конечно, вы можете преобразовать свой текст в контур (Shift+Ctrl+C) и передвигать буквы как обычные объекты контура. Но разумнее оставлять текст текстом: он будет редактируемым, вы сможете сменить шрифт, не теряя заданный вручную кернинг, да и сам текст занимает меньше места в сохранённом файле. Единственный минус состоит в том, что необходимо иметь исходный шрифт в каждой системе, где этот документ SVG будет открыт.

Подобно регулированию межсимвольного интервала вы можете регулировать межстрочный интервал в многострочных текстовых объектах. Опробуйте комбинации клавиш Ctrl+Alt+< и Ctrl+Alt+> на любом из абзацев этого учебника. Заметим, что от каждого нажатия общая длина текстового объекта меняется на один пиксел этого масштаба. Как и при обычном выделении, нажатие Shift с комбинацией клавиш, меняющих межстрочный или межсимвольный интервалы, увеличивает смещение в 10 раз.

Редактор XML

Самый мощный инструмент Inkscape — это XML-редактор (Shift+Ctrl+X). Он полностью отображает XML-дерево документа, всегда отражая реальное состояние. Вы можете редактировать свои рисунки и смотреть на изменения в дереве XML. Более того, вы можете редактировать любой текст, элемент или атрибут узла в XML-редакторе и видеть результат действий на холсте. Это лучший инструмент, какой только можно представить для интерактивного изучения SVG, и он позволяет выполнять такие хитрости, которые не сделать обычными инструментами для редактирования.

Заключение

Этот раздел учебника рассказал лишь о малой части возможностей Inkscape. Мы надеемся, что чтение было увлекательным. Не бойтесь экспериментировать и показывать свои работы. Пожалуйста, заходите на www.inkscape.org за дополнительной информацией, свежими версиями программы и помощью сообщества пользователей и разработчиков.