0

我有一个形状

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

我想把这个形状变成

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

有没有办法将这些内置形状相互转换。我知道路径可以随心所欲地变换,但形状也可以变换吗?

4

2 回答 2

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/

于 2015-10-01T15:24:44.877 回答
1

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

于 2012-10-15T11:04:21.247 回答