2013-07-18 46 views
0

我想改变在拉斐尔画布上绘制的路径的终点,但无法获得正确的语法。这是代码。 (函数调用arrow.attr的论点显然是错误的,但我曾尝试多种组合无济于事):更改拉斐尔路径的终点

window.onload = function() { 
var paper = new Raphael(document.getElementById('canvas_container'), 500, 500); 
var circle = paper.circle(100, 100, 80); 
var arrow = paper.path("M 100 100 l -56.5 56.5 z"); 
    arrow.attr({stroke: '#0a0', 'stroke-width': 3}); 

    arrow.attr({'x2':80, 'y2':0}); 
} ; 

拉斐尔参考是非常有限的,我想知道是否有更好的参考地方其他。

回答

1

修改部分路径的一种方法是将路径详细信息存储在数组中,根据需要修改部分并将路径重新指定为字符串。

var paper = new Raphael(document.getElementById('canvas_container'), 500, 500), 
    pathArray = ['M', 100, 100, 'l', 100, 100, 0, 100, 'z'], 
    shape = paper.path(pathArray.join(' ')); 
// Modify the last point (0, 100) to (100, 0) 
pathArray.splice(-3, 2, 100, 0); 
// Reassign the path as string 
shape.attr({path: pathArray.join(' ')}) 

希望这会有所帮助。