Raphael.js API之Raphael.getPointAtLength(),Paper.forEach(),Paper.remove(),Paper.set(),Paper.setStart(

/*API-122*/
Raphael.getPointAtLength(path, length)
给出指定路径上某长度上的点坐标
参数列表:
path
    字符串类型
    路径的字符串表达形式
length
    number类型
返回值:代表点的对象 格式为:
{
    x  number类型  x轴坐标
    y  number类型  y轴坐标
    alpha:numberangle of derivative //作用类似于截取线段上的一指定长度线段,返回该长度位置的那个点
}
示例:
var paper =  Raphael("test",500,500);
var    path = paper.path(" M 100 50 L 400 30");
console.log(Raphael.getPointAtLength(path.attr("path"),3));    
结果:
Object {x: 102.99349319247995, y: 49.800433787168004, alpha: 176.18592516570965}
/*API-87*/
Paper.forEach(callback, thisArg)
为画布上的每一个元素执行该方法
如果回调函数返回false那么停止循环
参数列表:
callback
    function
    将要执行的代码
thisArg
    Object类型
    回调函数的关联对象
返回值:画布元素对象
示例:
paper.forEach(function (el)
{
    el.attr({ stroke: "blue" });
});
/*API-97*/
Paper.remove()
从DOM中删除画布
/*API-100*/
Paper.set()
创建一个类似数组的对象用于维持和操作一些元素。但是,这个方法不会在画布上创建任何元素,它只操作已经存在的元素。数组可以被看为是伪元素。所有对元素可用的方法对数组依然可用。
返回值:用于表示元素数组的伪数组对象(个人感觉就是将画布上现有的指定元素放到set里面,元素类型可以使不同的)
示例:
var st = paper.set();
st.push(
    paper.circle(10, 10, 5),
    paper.circle(30, 10, 5)
);
st.attr({fill: "red"});
/*API-103  API-101*/
Paper.setStart()与Paper.setFinish()
可以认为是将Paper.set()方法分解
Paper.setStart()表示set开始创建,Paper.setFinish()表示set创建结束,中间执行的代码就是set所push进去的元素。
示例:
paper.setStart();
paper.circle(10, 10, 5),
paper.circle(30, 10, 5)
var st = paper.setFinish();
st.attr({fill: "red"});

原文地址:https://www.cnblogs.com/MedivhQ/p/3868772.html