Raphael.path2curve не поддерживает первоначальный путь

У меня проблема сRaphael.path2curve (), Функция изменяет строку пути SVG, так что все команды пути преобразуются в абсолютные кубические кривые (C). Функция поддерживает все команды пути (mlcqahvstMLCQAHVST, увидетьSVG SPEC).

Raphael.path2curve () может обрабатывать пути скважин во многих случаях, например. Он может даже правильно преобразовать дуги в кубики, что не является простым вычислением. Я сделал много тестов и понял, что пути, которые состоят из команд,QTCS или жеHT хорошо конвертирует Нет проблем и со следующим:MS, HS, VS, LS, TC, TH, TL, TV, QA, TA

Но он не может обрабатывать командыQS, TS, AS, TT (в этой последовательности).

Если мы, например. Иметь такой путь, преобразование не удается:

M 0 0  T 205.4 112.9  S 260.8 23.36 82.45 72.86 

Но это преобразует правильно:

M 0 0  S 211.9 54.20 52.14 144.4  T 98.85 44.45 

Итак, МТС не в порядке, но MST в порядке. Проблемными являются S и T, потому что они всегда под вопросом, когда что-то не получается.

я сделалгенератор случайных путей (медленно, но использоватьjsbin для скорости), где вы можете получить случайный путь и преобразовать его в кубические команды, используя Raphael.path2curve (). В скрипте щелкните SVG или нажмите ввод в поле ввода, чтобы получить новый случайный путь. Повторяйте, пока не найдете неправильный. Вjsfiddle в окне HTML есть параметрvar list = "st"; где вы можете установить команды пути для рандомизации.

Это пример изображения. Синий - это исходный путь, а красный - преобразованный путь. Они должны быть идентичны.

Что я должен сделать с кодом Рафаэля, чтобы получить правильное преобразование?

(Я сделалотчет об ошибке, но теперь пытались решить проблему несколько часов без удачи.

Ответы на вопрос(1)

Ваш ответ на вопрос