我有一个raphael.js形状,我正在绘制圆圈的顶部。如果圆圈没有偏离其绘制形状的边界,我只想要一个圆圈出现。
为了使这一点更清楚,这里有一个我不想发生的例子:
Example http://img682.imageshack.us/img682/4168/shapeh.png
我希望灰色区域外的圆圈不会出现。如何检测到灰色形状内外的圆圈?
答案 0 :(得分:4)
如果一个点位于封闭路径内,一种可能的方法是:
我不知道这对你有多大帮助,因为我根本不懂raphael.js。但这是解决这个问题的几何方法。
答案 1 :(得分:3)
您可以在包含圆圈的组(<g>
元素)上应用剪辑路径(应该将其定义为示例中的灰色形状)。
请参阅this example中的w3c SVG testsuite了解如何使用剪辑路径。
答案 2 :(得分:1)
这与“Hit-testing SVG shapes?”非常相似。
你只需要在圆圈的位置调用getIntersectionList(),看看它是否会返回大的灰色形状。