下の要素を固定位置に拡大したいと思っています。svgの固定位置を維持して要素を拡大/縮小する方法
<path id="container_svg_rectsymbol1" fill="red" stroke-width="1" stroke="Gray" d="M 73.1111111111111 -71.75 L 83.1111111111111 -71.75 L 83.1111111111111 -61.75 L 73.1111111111111 -61.75 L 73.1111111111111 -71.75" transform="scale(1)"/>
開始スケーリングでは、ある場所から別の場所に移動するときです。私はオブジェクトを移動したくないだけです。オブジェクトのサイズを大きくしたいだけです。
私は以下のリンクを参照しました。
http://commons.oreilly.com/wiki/index.php/SVG_Essentials/Transforming_the_Coordinate_System
はどのように固定されたスケーリングを行うには?
私は要素をアニメーション化したい、つまり固定された位置でサイズを拡大したいと思います。私は次のように実装しました。しかし、それは原点から要素を移動させます。下記のコードを参照してください。
var box = element.getBBox();
var scaleVal=null, x=null, y=null;
$(element).animate(
{
scale: 1,
centerX:box.x+(4*transX),
centerY:box.y+(4*transY)
},
{
duration: 4000,
step: function(now,fx) {
if (fx.prop == "scale") {
scaleVal = now;
} else if (fx.prop == "centerX") {
x = now;
} else if (fx.prop == "centerY") {
y = now;
}
if(!sf.util.isNullOrUndefined(scaleVal) && !sf.util.isNullOrUndefined(x) && !sf.util.isNullOrUndefined(y)) {
$(element).attr("transform", "translate("+(-x*(scaleVal-1))+","+(-y*(scaleVal-1))+")scale(" + scaleVal + ")");
}
}
)
は、以下のセンタリングポイントのスケーリングのリンクを参照しました。
http://commons.oreilly.com/wiki/index.php/SVG_Essentials/Transforming_the_Coordinate_System
が、それはまだ原点から始まり、要素を拡大。スケーリングは、原点を中心としたシヴァ
お試しください[phrogz](http://stackoverflow.com/questions/4850821/svg-coordinates-with-transform-matrix)優秀な回答 –
@アルヴィン:私の要件には関係ありません。 – SivaRajini