首页 > 代码库 > Raphael.js API之Raphael.pathIntersection(),aphael.pathToRelative(),Set.clear(),Set.exclude(element)

Raphael.js API之Raphael.pathIntersection(),aphael.pathToRelative(),Set.clear(),Set.exclude(element)

/*API-141*/
Raphael.pathIntersection(path1, path2)
获取两条线的交点
参数列表:
path1
    字符串类型
    路径的字符串表达形式
path2
    字符串类型
    路径的字符串表达形式
返回值:交点集合,格式如下:
[{
    x:       //number类型 点的x坐标
    y:       //number类型 点的y坐标
    t1:      //number类型   value for segment of path1(不太确定中文表达方法)
    t2:      //number类型   value for segment of path2(不太确定中文表达方法)
    segment1: //number类型   order number for segment of path1(不太确定中文表达方法)
    segment2: //number类型   order number for segment of path2(不太确定中文表达方法)
    bez1:     //数组  用8个点代表曲线
    bez2:     //数组  用8个点代表曲线    
}]
示例:
var ppath = paper.path("M  300 400 l 200 500");
var ppath1 = paper.path("M  250 400 l 400 150");
var result = Raphael.pathIntersection(ppath.attr("path"), ppath1.attr("path"));
如果调用结果可以写成result[0].x即可取到交点x坐标
返回结果为:
0: Object
bez1: Array[8]
bez2: Array[8]
segment1: 1
segment2: 1
t1: 0.12666743349882026
t2: 0.24168959150532024
x: 308.8235294117614
y: 422.0588235294119
__proto__: Object
length: 1
__proto__: Array[0]

/*API-142*/
Raphael.pathToRelative(pathString)
将路径转变为相对应的形式
参数列表:
pathString
    字符串数组
    线段数组
返回值:线段数组
/*API-156 API-157*/
Set.clear()
删除set中的所有元素
/*API-157*/
Set.exclude(element)
从set中删除选定元素
参数列表:
element
    Object类型
    待删除的元素
返回值:布尔类型 (如果待删除的元素在set中找到,并删除返回true)