2014-02-11 4 views
1

Использование svg.js Я хотел бы обратить путь с дуги:Как нарисовать дугу с помощью svg.js

M75,0 L75,118.85 A30,30 0 0 0 640,660.15 L568.5690264688633,781.8607965826662 

Я пробовал все (пробелы, запятые, ...), но не успех. Тем не менее получать сообщение об ошибке:

Error: Problem parsing d="M 50 0 L 50 108.8499984741211 A 660.3822631835938 199.75233459472656 L 631.133056640625 133.80345153808594"

Большое спасибо заранее.

+1

Что вы на самом деле писали? Для меня работали следующие: «var draw = SVG (« рисунок »). Size (800, 800) .path (« M75,0 L75,118,85 A30,30 0 0 0 640 660,15 L568,5690264688633,781.8607965826662 ») .attr ({stroke: '# 000', fill: 'none'}); ' –

+0

Я написал' $ svg.path ("M75,0 L75,118.85 A30,30 0 0 0 710.3045697572263,209.82594606724422 L728.8662409116116,189.78229476017066") ' , Но выход si 'M 75 0 L 75 118.8499984741211 A 710.3045654296875 209.82594299316406 L 728.8662109375 189.78228759765625 –

+0

Я попытался использовать ваш код a так же, как и мой :(Какая версия вы используете? –

ответ

3

Лично у меня нет опыта работы с svg.js, но у меня есть с Raphaël.js. Raphaël - небольшая библиотека JavaScript, которая должна упростить вашу работу с векторной графикой в ​​Интернете. Он имеет очень хорошую документацию с примерами.

Работа с пути легко в Raphaël.js и вот как вы это делаете:

var c = paper.path("M10 10L90 90"); 
// draw a diagonal line: 
// move to 10,10, line to 90,90 

Вы можете написать путь двумя способами:

  1. Координаты разделенных пробелом

    "M10 10L90 90"

  2. Координаты разделены с запятой

    "M10,10L90,90"

А вот небольшой пример пути:

r = Raphael("holder", 100, 100); 
r.path("M10,10L90,90"); 

Он просто рисует линию.

+0

Я знаю 'Raphaël.js'. Я могу рисовать пути с помощью 'svg.js', но я не могу рисовать его с помощью Arc. –

+0

ОП спрашивает о SVGjs, и этот ответ о Raphael.js.Принятый ответ должен быть одним из @Nils. –

3

Существует плагин https://github.com/otm/svg.path.js, который обеспечивает простой интерфейс для создания путей. С помощью плагина вы можете, например, написать записи:

var draw = SVG('drawing').size(800, 800); 
var path draw.path().M(10, 10).L(20, 20) 

Вот некоторые примеры для плагина: http://otm.github.io/svg.path.js/

Существует также новая функция svg.js называется путь массива:

https://github.com/wout/svg.js#svgpatharray

+0

Большое спасибо. Выглядит неплохо. –

+0

Для всех, кто хочет нарисовать дугу по кругу, вы найдете здесь ответ: https://github.com/otm/svg.path.js/issues/21 –