Как сгладить преобразованный путь SVG - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь использовать библиотеку JavaScript Snap.Svg для создания новой строки пути в svg из ранее преобразованного пути. В новой строке пути должны быть запечатлены старые преобразования, когда она создается. Проблема в том, что я не уверен, что именно правильный подход. Я смотрел на этот поток в snap.svg я получаю неопределенный. Как получить объект матрицы преобразования из узла DOM, как показано в этом примере Применить преобразование к результату предыдущего преобразования по пути SVG . Соответствующий метод в библиотеке моментальных снимков: http://snapsvg.io/docs/#Snap.path.map

Мой код:

   var result = d3.select(".line").node();
   console.log(result.transform.baseVal.consolidate().matrix);

Выше возвращается ноль. Как создать / получить правильный объект матрицы преобразования, чтобы я мог использовать метод Snap.path.map?

1 Ответ

1 голос
/ 16 мая 2019

Не уверен, используете ли вы d3 или Snap, поэтому ответ может зависеть.Если использовать Snap, вы можете посмотреть, как получить матрицу из

element.transform().localMatrix or 
element.transform().globalMatrix 

, а затем использовать эту матрицу, используя

Snap.path.map( pathString, Matrix ) 

из http://snapsvg.io/docs/#Snap.path.map, чтобы применить это преобразование

Если вам нужно получить строку преобразования, вы можете получить ее из

somepath.attr('d')
...