我有一个形状
var a = paper.rect(10,10,50,20);
我想将这个形状转换为
var b = paper.circle(10,10,20);
有没有办法将这些内置形状转换为另一种形状。我知道无论如何你都可以改变路径,但是形状也可以变换吗?
答案 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中的任何单个动画形状在整个动画中都必须保持相同的形状,我相信。