【发布时间】:2013-09-21 16:05:56
【问题描述】:
SVG checkintersection() 函数有问题。我想要做的就是检查一个小的 SVG 矩形是否与 SVG 路径的区域相交,但我不知道在什么上调用该函数(我已经尝试在 SVG DOM 对象上调用它,其中谷歌还发现了其他几件事)。
所以我需要知道在这个 sn-p 中为占位符(“foo”)输入什么:
var closedPath = document.getElementById(closedPath);
var rectangle = document.getElementById(rectangle);
if (foo.checkIntersection(closedPath, rectangle)) {
//do stuff
};
HTML 类似于
<html>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" id="svgroot">
<g>
<path id="closedPath" fill="{$c5}" d="M-250179-46928l-5051 1351l-867-1760l-33-146l-12-99l-82-678l-17-249l86-644l305-1800l158-2882l75-1425l-47-280l-22-131l-137-411l-300-892l1273 620l931-109l1957-734l1860-1096l292-192l884 547l2690 2153l480 963l36 244l-948 1878l-376 591l-60 567l-72 1147l97 847l-222 334l-122 117l-2403 2093l-353 76z"/>
<rect id="rectangle" fill="white" x="-126828" y="0" width="45000" height="45000"/>
</g>
</svg>
</body>
</html>
任何帮助将不胜感激!
编辑:只是想补充一点,我现在使用一种解决方法,其中包括使用我编写的解析器函数将 SVG 路径转换为点坐标数组,然后将其放入一个简单的坐标测试函数中。 这也可能是一个解决方案Hit-testing SVG shapes?
【问题讨论】:
-
我怎么可能从未听说过
checkIntersection? (但太糟糕了,它需要一个矩形)
标签: javascript html svg