SVG - от координат окна до координат ViewBox

89
9

В основном у меня есть svg "SecondSVG" в svg "FirstSVG" в svg "MainSVG". Каждый svg имеет свой собственный ViewBox. Эта страница может быть загружена в любом месте экрана другой страницей.
Итак, в основном, как я могу найти экран x для viewBox для "SecondSVG", зная, что этот svg можно загружать в основном в любом месте на основе вызывающей страницы?
event.clientX дает мне координату x для экрана. Если я не знаю координаты для ViewBox из "SecondSVG", то как я могу узнать координату x внутри ViewBox "SecondSVG"?


Я использую Firefox 3.6.3, и у меня есть объект события, из которого я могу извлечь clientX, clientY и другие координаты, которые относятся к экрану. Однако мне нужны координаты внутри ViewBox.

спросил(а) 2021-01-25T19:32:34+03:00 4 месяца, 4 недели назад
1
Решение
109

function click(evt)
{

var root = document.getElementById('your svg');

var uupos = root.createSVGPoint();

uupos.x = evt.pageX;

uupos.y = evt.pageY;

var ctm = evt.target.getScreenCTM();

if (ctm = ctm.inverse())

uupos = uupos.matrixTransform(ctm);

///the new x y are : uupos.x , uupos.y
}

ответил(а) 2021-01-25T19:32:34+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема