2010-09-10 82 views
0

我正在使用Raphaël構建應用程序。我已經完成了我的矢量工作,現在我想要的是 - 我想放大矢量。我已經在其上實現了這個代碼,但是當我縮小元素時,它的座標也隨之變化,這是我不想要的。使用Raphaël縮放問題

請幫我一把。提前致謝。

這裏是我的代碼:

var raphael=Raphael(20,20,500,500) 
    var dress=raphael.rect(50,30,200,300) 
    dress.attr(
    { 
     fill:"green", 
     stroke:"black", 
     opacity:"0.3" 

    } 
) 
    var mdipoint=raphael.circle(150,175,2).attr(
    { 
     fill:"black", 
     stroke:"black" 
    } 
) 
    dress.toFront() 

dress.mousemove(function(){ 

     var c= dress.scale(0.5) 
     //var x,y; 
     xx=event.pageX 
     yy=event.pageY 
     document.getElementById("t1").value=xx 
     document.getElementById("t2").value=yy 



    //  var x,y; 
    // x=event.pageX-150 
     // y=event.pageY-175 
     //document.getElementById("t1").value=x 
     //document.getElementById("t2").value=y 
     // alert(x+","+y) 



}) 

    dress.mousemove(function(event){ 

     var x,y; 
     x=event.pageX-70 
     y=event.pageY-50 
     document.getElementById("t1").value=x 
     document.getElementById("t2").value=y 

    }) 
    dress.mouseout(function(){ 

     document.getElementById("t1").value="" 
     document.getElementById("t2").value="" 
    }) 
+0

還有一個元素的大小如何改變,而其角點座標不變? ----------你能否更詳細地描述你想讓你的結果看起來像什麼? – 2010-10-07 02:32:13

回答

1

返回的東西到原來的大小,使用.scale(1)。該比例始終是相對於原始大小,而不是以前的大小。

所以收縮矩形鼠標懸停,然後將其返回到原來的大小,其原有的頂點座標,使用類似:

dress.mouseover(function(){ 
      // Shrink rectangle 
     dress.scale(0.5) 
    }); 
    dress.mouseout(function(){ 
      // This will return it to original size 
     dress.scale(1); 
    }) 

simplified jsFiddle example

(你不需要爲變量分配縮放操作)