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