【发布时间】:2021-04-20 12:06:52
【问题描述】:
我对这一切或多或少是陌生的。我正在尝试使用 SVG 创建一个应用程序(因为我宁愿拥有可以缩放而不损失质量的矢量形状)。使用 Web 技术,后来迁移到 react-native。
我有什么方法可以找出一个点(x,y,也将由 CSS 的 left 和 top 属性确定)是否在一个高度复杂的内部、不规则、矢量形状?
我知道我的问题充满了限制,因此很难回答,即使指向正确的文档也会有所帮助。
PS:我尝试了 elementFromPoint() 方法,但它返回了 DOM 围绕我的 SVG 放置的边界矩形。这完全违背了我的目的,我想确保仅在 SVG 路径和形状本身中检测到该点。 任何帮助表示赞赏, 谢谢!
【问题讨论】:
-
那么您是在尝试检测光标下的点以在 SVG 上显示悬停效果,还是更复杂一些?您是仅使用内联 SVG 还是使用 Two.js 或 D3 之类的库?
-
@NickGimbal 嘿,这将是一个静态点,而不是鼠标光标。我正在寻找一个充满不同路径/形状的视图,并查看它们何时与该点相交。暂时没有其他库。 inline 这个词已经被提到过好几次了,你们指的是 HTML 内联还是块?无论如何,非常感谢您的回复!
-
@Kaiido 嗨,我想过这个问题,但偏执地认为这不会在所有浏览器中完全可用,那是 SVG2 对吗?感谢您的帖子!
-
@Sphinxxx 哇,我是在比较周围的 SVG,而不是其中的各个路径。非常有帮助,也感谢您提供的代码,它非常清楚!
标签: svg events detection point vector-graphics