Raphael.path2curve не поддерживает первоначальный путь
У меня проблема сRaphael.path2curve (), Функция изменяет строку пути SVG, так что все команды пути преобразуются в абсолютные кубические кривые (C). Функция поддерживает все команды пути (mlcqahvstMLCQAHVST
, увидетьSVG SPEC).
Raphael.path2curve () может обрабатывать пути скважин во многих случаях, например. Он может даже правильно преобразовать дуги в кубики, что не является простым вычислением. Я сделал много тестов и понял, что пути, которые состоят из команд,QT
CS
или же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";
где вы можете установить команды пути для рандомизации.
Это пример изображения. Синий - это исходный путь, а красный - преобразованный путь. Они должны быть идентичны.
Что я должен сделать с кодом Рафаэля, чтобы получить правильное преобразование?
(Я сделалотчет об ошибке, но теперь пытались решить проблему несколько часов без удачи.