raphaeljs形状可以相互转化吗?

时间:2012-10-15 08:07:15

标签: path raphael transform shapes

我有一个形状

var a = paper.rect(10,10,50,20);

我想将这个形状转换为

var b = paper.circle(10,10,20);

有没有办法将这些内置形状转换为另一种形状。我知道无论如何你都可以改变路径,但是形状也可以变换吗?

2 个答案:

答案 0 :(得分:3)

如果有一点创造力,你可以做到这一点。如果宽度,高度和r(半径)都相同,则矩形可以是圆形。然后将矩形转换为"圈"变为:

p=Raphael(10, 50, 600, 300); myrect=p.rect(50,50, 300,150,0).attr({"fill":"cyan"}); myrect.animate({"width":25,"height":25, "r":25}, 3000);

JSfiddle:http://jsfiddle.net/s1pz6Lzc/30/

答案 1 :(得分:1)

我不认为这是可能的,除非你只是淡出一个形状而淡入另一个形状。原因是在转换过程中的某个时间点,形状既不是矩形也不是圆形,而SVG中的任何单个动画形状在整个动画中都必须保持相同的形状,我相信。