Как я могу реализовать эффект смещения пути в SVG без использования Javascript или расширенных / размытых фильтров?
У меня есть давний проект: базовый инструмент векторной графики, который работает в браузере и использует SVG и Javascript (возможно, вы видели что-то подобное в других местах). Инструмент имеет только очень ограниченный набор функций, потому что аудитория ограничена, и цель очень специфична, и на самом деле не разрешается использовать другие функции, кроме тех, которые разрешены явно (вы знаете). Одной из пропущенных особенностей является размывание (также называемое врезкой или утончением) и расширение (начальная, утолщенная, жирная) многоугольников и других графических элементов.
Я использовал Adobe Illustrator 's Эффект смещения пути много раз, и с его помощью я могу легко делать копии графических объектов, которые прореживаются или утолщаются, не затрагивая исходный объект, что, следовательно, может быть практически любым, поддерживаемым программой.
Я пытался заставить ту же функциональность работать в SVG, но безуспешно.
Я пробовал следующее:
- расширять и разрушать фильтры, но с неудовлетворительными результатами (пожалуйста, смотрите изображение здесь)
- серверный Python 'Библиотека Shapely, но этот обходной путь слишком медленный и позволяет вставлять или выводить только базовые полигоны (описание тут)
- найти библиотеку javascript / код / функцию, которая могла бы изменить данные пути графических элементов, но ничего не нашла для javascript
Так есть ли какой-то осмысленный способ реализовать это, как эффект смещения пути и как?