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 に答える