JavaScript raphael圈元素

时间:2011-04-15 04:44:45

标签: javascript raphael

我是Raphael lib的新手,我的问题是:

我可以使用特定于路径的方法(例如getTotalLength()getPointAtLength())作为圆形元素 - 这将非常有用(并且在开始时我认为圆圈以某种方式从路径继承 - 所以应该是可能的...但它根本不起作用:(),即。

var cir = paper.circle(100, 100, 20);
var totalength=cir.getTotalLength();
paper.text(50,150,'Length=('+totalength+')',20);
var pt = cir.getPointAtLength(0);
paper.text(50,250,'Point=('+pt.x+','+pt.y+')',20);

感谢您的任何意见/提示/解释, 鲍里斯塔拉

1 个答案:

答案 0 :(得分:1)

可悲的是,你做不到。 Circle是它自己的svg元素。编写一些复制这些特定于路径的操作的函数并不难:

getTotalLength:

2*pi*radius

getPointAtLength: 你必须弄清楚圆圈的路径“开始”的位置,但有了这个设置就像:

rad = (length / total_length) * 2*pi
y = center_y + (sin(rad) * radius)
x = center_x + (cos(rad) * radius)