私は一つの形をしています
var a = paper.rect(10,10,50,20);
この形をに変えたい
var b = paper.circle(10,10,20);
これらの作り付けの形状を互いに変換する方法はありますか?パスは任意の方法で変換できることは知っていますが、形状も変換できますか?
少しの創造性があれば、これを行うことができます。幅、高さ、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/
単純に一方の形状をフェードアウトし、もう一方の形状をフェードインする場合を除いて、それは不可能だと思います。この理由は、変換中のある時点で、形状が長方形でも円でもないのに対し、SVGでアニメーション化された単一の形状は、アニメーション全体で同じ種類の形状のままでなければならないためです。