2016-10-26 5 views
0

Im using svgjs для создания моих фигур. Как я могу найти центральную точку формы svg и добавить туда элемент? В моем случае красная точка. Я не могу найти какую-либо информацию в документации для метода или что-то, что помогает в этой ситуации.Найти центр формы svg

ответ

0

Вы можете использовать метод getBBox или, альтернативно, getBoundingClientRect. Оба метода дают вам объект со свойствами x, y, width, height, который вы можете использовать для расчета вашего центра.

Поскольку вы отметили свой вопрос svg.js, я также дам вам решение с svg.js.

// Vanilla 
node = document.getElementById('myEl').getBBox() 

// with svg.js 
SVG.adopt(document.getElementById('myEl')).bbox() 

Второе решение дает Вам объект, который имеет cx и cy уже вычисленный для вас.

Этот метод может быть найден в docs

+0

Спасибо большое за ответ, один последний вопрос, после получения координат, как бы я поставил элемент на этой позиции? – Pedro

+0

Я бы использовал функцию «center», чтобы установить центр элемента в центр шао. Например. 'circleEl.center (cx, cy)'. Это все написано в документах. Пожалуйста, rtfm! – Fuzzyma

+0

Большое спасибо за помощь, но я заметил одну проблему, когда я вызываю SVG.adopt (this.svgElement) .bbox(), я замечаю, что дает мне всего 2 координаты, а после i console.log (this.svgElement), я заметил, что есть 2 svg, где в каждой из тем внутри есть 2 формы, прямоугольник и круг, но мне нужно поместить элемент в центр фигур внутри svg, как бы я это сделал? – Pedro