Использование формы объекта для вырезания объекта под ним в Inkscape


57

Я редактирую svg в Inkscape, и у меня есть объект поверх другого объекта. Я хотел бы использовать форму верхнего объекта, чтобы вырезать объект под ним.

Для тех, кто знаком с GIMP, я пытаюсь сделать что-то вроде инструмента «альфа в выделение».

Ответы:


41

Выберите оба (щелкнув один объект, удерживая клавишу Shift, затем щелкнув другой объект), затем выберите Path, затем Difference.

Для меня я хотел вырезать левую стрелу из шестиугольника. Я создал шестиугольник, продублировал слой, сместил верхний слой вправо, затем выбрал оба слоя, затем PATH / Difference.


4
В добавление к этому: я хотел вырезать текст, поэтому сначала мне нужно было выбрать текст «Путь»> «Объект к пути», затем снова выбрать «Объект»> «Разгруппировать», затем выбрать каждую букву и фон отдельно - вы можете сделать это только с два объекта одновременно.
SinisterBeard

На самом деле вы можете сделать это с более чем одним путем одновременно благодаря новому расширению: github.com/Moini/inkscape-extensions-multi-bool
johnp

Не работает Вообще. Ничего не произошло.
yPhil

1
@yPhil замечание SinisterBeard помогло мне заставить его работать. Вы пробовали это?
тимаро

19

Выберите оба и сделайте:

Объект -> Клип -> Установить


2
Это должен быть принятый ответ.
TenLeftFingers

4
Это всегда идет вразрез с тем, что я хочу. Может быть, потому что объект сверху больше? Также не работает, если «вырезанная» часть должна быть прозрачной. Цвет объекта в спине будет отображаться.
DanMan

@TenLeftFingers это верно только в том случае, если вы хотите, чтобы нижний объект имел форму верхнего объекта. Если вы хотите, чтобы форма верхнего объекта была вырезана из нижнего объекта, то не следует. Вопрос на самом деле неоднозначен, если вы не знаете GIMP и его «альфа на выбор». Я посмотрел это, и я не думаю, что это проясняет, чтобы быть откровенным.
тимаро

5

Выберите оба, PATH >> INTERSECTION


8
Если вы пытаетесь вычесть толстую линию (обводку) из фигуры, вам сначала нужно выбрать PATH >> STROKE TO PATH.
Adripants

3

Я хотел вырезать форму креста из другой формы. Я использовал оригинальный shape.svg и другое изображение, cross.svg (которое было именно той формой, которую я хотел вырезать). Теперь я попробовал все предложения здесь, но ни одно из них не сработало, и после долгих экспериментов я нашел легкий подход, который, я надеюсь, сработает для других.

  • открыть чернильницу
  • открыть shape.svg
  • import cross.svg
  • измените размер и поместите cross.svg на shape.svg в том месте, где нужно вырезать крест
  • Path -> Combine (в результате получился оригинальный shape.svg с вырезанным из него крестиком)
  • После комбинирования shape.svg был цветом cross.svg, поэтому я просто выбрал его и выбрал нужный цвет из палитры заливки.
  • Файл -> Сохранить как

Я хотел бы отметить, что оба изображения были одного цвета для начала.


3

Немного (?) Опоздал на вечеринку и удивился, почему никто не упомянул разделение ( Ctrl+ /).

Верхний объект должен быть продублирован, иначе нижний объект останется в двух сегментах - один будет в форме верхнего объекта, а второй будет остатком

  1. Выберите верхний объект.
  2. Нажмите Ctrl+, Dчтобы дублировать его.
  3. Измените цвет так, чтобы он был различим
  4. Нажмите Shiftи щелкните нижний объект. (У вас должна быть копия верхнего и нижнего объектов, выбранных к настоящему времени. Проверьте строку состояния, чтобы убедиться, что выбраны только два объекта.
  5. Нажмите Ctrl+/

Теперь у вас есть верхний объект и нижний объект в двух сегментах.

НТН


Разделение для путей, а не объектов. Не все объекты могут быть преобразованы в пути.
DanMan

1

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

Исходный файл SVG с несколькими объектами был одним слоем. Вы ДОЛЖНЫ создать новый слой, чтобы сделать это, иначе ничего не будет работать.

Создайте новый слой над исходным слоем, а в новом слое создайте фигуру над объектом, который вы хотите вырезать. Я использовал прямоугольник без заливки и сплошной штрих, чтобы я мог видеть его вокруг объекта, который хотел.

Выберите Путь, Пересечение.

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

Наведите курсор на объект (в режиме селектора), и объект теперь будет двигаться независимо от исходного изображения.

Теперь вы можете скопировать и вставить этот объект в другой файл, и он сохранит свои атрибуты.

Самая большая трудность с Inkscape - выкинуть из головы процессы GIMP или других графических редакторов, потому что эта программа нуждается в другом подходе. Вместо того, чтобы просто использовать инструмент выделения, скопируйте и вставьте. Вам нужно создать маску выделения с новым слоем и формой другого объекта. Затем инструмент пересечения создаст для вас обтравочную маску.


0

Судя по всему, булевы Inkscape не работают с сгруппированными объектами. Разгруппируйте объект, который нужно обрезать, затем выберите объекты, а затем path / и (пример) cut path.


0

Разгруппировка объектов, выделение всех точек и выбор пути >> Исключение сработало для меня.

Смотрите видео на YouTube: https://youtu.be/uquoIZhyarQ


1
Добро пожаловать в GD.SE! Можете ли вы объяснить лучше ваше решение, например, добавив скриншоты и объяснение того, что они показывают ...
Mensch

@Kurt, еще лучше, а как насчет видео?
Джей

1
Лично я не люблю видео, мой опыт работы с ними не очень хорош (чтобы ошибиться, не найти искомое решение и т. Д.). Я предпочитаю письменное решение, которое может быть непосредственно проверено, и нет необходимости в подключении к Интернету, мы надеемся, что ссылка не сломана ... Изображения и текст намного более приемлемы для этой веб-страницы, я думаю.
Mensch
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.