Voglio ridimensionare l'elemento sottostante in posizione fissa.come ridimensionare l'elemento mantenendo la posizione fissa in 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)"/>
quando inizio a ridimensionare si sposta da una posizione a un'altra posizione. non voglio spostare l'oggetto voglio solo ingrandire la dimensione dell'oggetto.
ho indicato il seguente link.
http://commons.oreilly.com/wiki/index.php/SVG_Essentials/Transforming_the_Coordinate_System
come fare scala fissa?
voglio animare l'elemento i.e ingrandire la dimensione in posizione fissa. ho implementato nel modo seguente. ma il davanzale sposta l'elemento dall'origine. si prega di fare riferimento al codice sottostante.
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 + ")");
}
}
)
indicato il collegamento sottostante per il ridimensionamento in punto centrale.
http://commons.oreilly.com/wiki/index.php/SVG_Essentials/Transforming_the_Coordinate_System
ma comincia ancora dall'origine e allarga l'elemento.
Grazie,
Siva
Provare [phrogz] (http://stackoverflow.com/questions/4850821/svg-coordinates-with-transform-matrix) risposta eccellente –
@Alvin: non è rilevante per il mio requisito. – SivaRajini