在这种特殊情况下,它适用于SVG。我可以通过查询获得SVG元素,如下所示:
Element svgEL = querySelector('svg');
如果我查看'svgEL'对象,它包含(简要):
[[javascript view]]: svg
[[class]]: SvgSvgElementImpl
...
getScreenCTM: function() // I want to call this
...
我认为我会在某个东西上实例化一个JsObject然后对它做一个callMethod,但我似乎无法弄清楚如何使它工作。
有什么想法吗?
答案 0 :(得分:1)
最简单的方法是使用相应的Dart课程GraphicsElement
,其方法为getScreenCTM
https://api.dartlang.org/stable/1.23.0/dart-svg/GraphicsElement-class.html
所以转为这种类型:
GraphicsElement gElem = svgEL as GraphicsElement;
gElem.getScreenCTM();
答案 1 :(得分:1)
感谢Jonas对dart:svg库的单挑。
事实证明我不需要它,因为我在一个事件中处理它,而事件目标对象是原始的js'g'对象(这是鼠标悬停)。所以,我能够得到我所需要的东西:
var jsvg = event.target.ownerSvgElement;
var mtx = jsvg.getScreenCtm();
...
然后我可以创建点并进行逆变换以及所有这些。