Я знаю, что это немного поздно в игре, но я вспомнил этот вопрос с того момента, когда он был новым, и у меня была подобная диллемма, и я случайно нашел «правильное» решение, если кто-то еще ищет его:
Другими словами, это:
может быть достигнуто как путь с этим:
Трюк состоит в том, чтобы иметь две дуги , второй - вверх, где первый остановился и используя отрицательный диаметр, чтобы вернуться к исходной начальной точке дуги.
Причина, по которой это невозможно сделать как полный круг в одной дуге (и Я просто размышляю), потому что вы говорили бы, чтобы он рисовал дугу от себя (скажем 150 150) к себе (150,150), которую он отображает как «о, я уже там, нужная дуга!».
Преимуществами предлагаемого решения являются:
Ничто из этого не имело бы значения, если бы они просто разрешали текстовым путям принимать фигуры. Но я думаю, что они избегают этого решения, поскольку элементы формы, такие как круг, технически не имеют точки начала.
jsfiddle demo: http://jsfiddle.net/crazytonyi/mNt2g/
Если вы используете путь для ссылки textPath
и хотите, чтобы текст отображался на внешнем краю дуги, вы должны использовать точно такой же метод, но измените флаг развертки от 0 до 1, чтобы он рассматривал внешнюю сторону пути как поверхность вместо внутренней (подумайте о 1,0
как о том, кто сидит в центре и рисует круг вокруг себя, а 1,1
, когда кто-то ходит по центру на расстоянии радиуса и перетаскивает их мелом рядом с ними, если это какая-то помощь). Вот код, как указано выше, но с изменением: