Как мы вырезаем несколько объектов разных цветов по краю фигуры? Без обрезки!

У меня такая же проблема, как и в этом посте: Этот пост ;-)
И разница в том, что у меня есть несколько объектов (фактически путей) разных цветов. Кроме того, я хочу знать, могу ли я сделать это без отсечения, потому что отсечение создает объект, который нельзя преобразовать в путь, что добавляет много ограничений. Пожалуйста, посмотрите [этот пост] для получения дополнительной информации: Итак, еще раз, как я могу вырезать объекты, которые не соответствуют форме модели (которая окрашена в фиолетовый цвет на изображении ниже), или мы говорим, обрезать их по краю .
Итак, вот эти объекты с разными цветами:

предметы разного цвета

А фиолетовая коробка — это объект модели,

коробка с фиолетовой квадратной моделью

и я хочу, чтобы эти круги исчезли на краю фиолетового квадрата, чтобы я мог получить квадрат, заполненный разноцветными кругами!

И я создаю пример с gimp (который создает растровые изображения) и показываю вам, что именно я хочу:

введите описание изображения здесь

Вы пробовали использовать оператор деления и удалять ненужные пути?
деление на самом деле не работает :-( Кажется, ничего не делается. И, как я уже сказал в вопросе, отсечение создаст объект, который «непроходим», что накладывает множество ограничений.
Разделение работает ровно на двух путях, а не на связке путей. Вы должны объединить свои круги, нарисовать свой прямоугольник, выбрать прямоугольник и круги и применить разделение (или пересечение ). После этого вы можете разбить свой путь и заполнить круги.
Но объединение путей делает их одного цвета, а это не то, чего я хочу...... Итак, вы можете это решить?
Как я уже сказал, вам нужно заполнить круги. Например, вы можете оставить исходное изображение в заблокированном слое после его дублирования (Ctrl-D) и перемещения копии на другой слой. После разделения удалите заливку, чтобы вы могли видеть цвета на исходном изображении и могли выбрать их с помощью пипетки и использовать для заливки частей кругов. Попробуйте, пожалуйста, у меня нет времени в данный момент, чтобы написать достойный ответ. Или посмотрите предложение Wrzlprmft. Должно ли конечное изображение быть в формате SVG или PNG?
Этот вопрос может быть возможным дубликатом этого graphicdesign.stackexchange.com/questions/47180/… Идеального решения не существует, однако, если вы перейдете по ссылке в моем ответе, будет предоставлено неофициальное расширение. Всего наилучшего @user56336

Ответы (3)

Вам нужен аддон Multi-Bool (скачайте, нажав на стрелку справа от заголовка).

Установите плагин, как описано на связанном сайте. Перезапустите Inkscape.

  1. Полностью разгруппировать все круги.
  2. Выделите все (круги и прямоугольник).
  3. Щелкните Extensions > Boolean > Multiple Division.
    (В отличие от собственных логических функций Inkscapes, это не удаляет прямоугольник сверху. Вы можете удалить прямоугольник вручную.)
  4. Выделите внешние части кругов и удалите их.

мультибуль трудный путь

Выбор внешних частей на самом деле требует больше работы, чем можно было бы ожидать. Но есть простой способ обойти это: использовать отрицание прямоугольника и мультиразность.

  1. Нарисуйте прямоугольник по всему холсту.
  2. Поместите исходный прямоугольник поверх него.
  3. Выберите оба прямоугольника.
  4. Вычесть ( Path > Differenceили ctrl+-).
  5. Выберите все (круги и отрицательный прямоугольник).
  6. Щелкните Extensions > Boolean > Multiple Difference.

мультибуль простой способ

Ссылка не работает. Кажется , это самое последнее воплощение, хотя я не уверен, передаются ли действия в этом ответе дословно.

Библиотека multi-bool, на которую ссылается @Socowi, признана устаревшей автором и удалена. Текущая версия находится по адресу:

Похоже, что репо для> 1.0 также больше недоступно :(

Да, это доступно! Но к сожалению в ссылке опечатка и не хватает двух последних букв. Правильная ссылка

https://gitlab.com/moini_ink/inx-pathops

Я попробовал его с версией 1.0.1 и работает, как и ожидалось.