Inkscape moveTo координирует путь в Рафаэле - PullRequest
1 голос
/ 29 апреля 2010

Я пытаюсь скопировать пути из inkscape в Raphael (отдельные страны), проблема в том, что перемещение уже далеко, как мне сделать так, чтобы оно отображалось в относительно правильной позиции на холсте?

1 Ответ

1 голос
/ 08 сентября 2010

Если вы пытаетесь нарисовать путь на холсте в относительной позиции, вам необходимо преобразовать все абсолютные координаты в относительные координаты. У меня недавно была та же проблема, и я прибег к калькулятору и бумаге (это был короткий путь, и он не стоил того, чтобы атаковать программно). Есть несколько инструментов, которые утверждают, что могут выполнять эти преобразования, но по моему опыту они были либо неполными, либо устаревшими ссылками.

Проблема в том, что Inkscape уже решил для вас, что вы хотите, чтобы ваши SVG-файлы были оптимизированы по размеру, и будет переключаться назад и вперед от относительного к абсолютному всякий раз, когда будет сохраняться несколько байтов. По сути, вам нужно будет выполнить итерацию по пути, отслеживая вашу позицию, сравнить каждый абсолютный узел с предыдущим узлом (или исходной точкой, если это начальный moveTo) и заменить любые абсолютные координаты на разницу.

В настройках Inkscape есть опция принудительной установки абсолютных координат (снимите флажок «Настройки» -> «Вывод SVG» -> «Разрешить относительные координаты»), что может немного упростить преобразование.

...