Im using svgjs
для создания моих фигур. Как я могу найти центральную точку формы svg и добавить туда элемент? В моем случае красная точка. Я не могу найти какую-либо информацию в документации для метода или что-то, что помогает в этой ситуации.Найти центр формы svg
0
A
ответ
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
Спасибо большое за ответ, один последний вопрос, после получения координат, как бы я поставил элемент на этой позиции? – Pedro
Я бы использовал функцию «center», чтобы установить центр элемента в центр шао. Например. 'circleEl.center (cx, cy)'. Это все написано в документах. Пожалуйста, rtfm! – Fuzzyma
Большое спасибо за помощь, но я заметил одну проблему, когда я вызываю SVG.adopt (this.svgElement) .bbox(), я замечаю, что дает мне всего 2 координаты, а после i console.log (this.svgElement), я заметил, что есть 2 svg, где в каждой из тем внутри есть 2 формы, прямоугольник и круг, но мне нужно поместить элемент в центр фигур внутри svg, как бы я это сделал? – Pedro