以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 SVG/GML/VRML/X3D/XAML 』  (http://bbs.xml.org.cn/list.asp?boardid=21)
----  缩放图形的显示  (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=67610)


--  作者:hfutzhu
--  发布时间:9/24/2008 11:17:00 AM

--  缩放图形的显示
svg缩放的时候,图形和鼠标会偏移,为了让鼠标固定在缩放的位置:
  var scale= 1.0000 / svgE.getCurrentScale();
     
     var ctx=svgE.getCurrentTranslate().getX();
     
     var cty=svgE.getCurrentTranslate().getY();
     var curCoordx=scale*(spx-ctx);
     var curCoordy=scale*(spy-cty);
     
     svgE.currentScale = svgE.currentScale * 2;

     scale= 1.0000 / svgE.getCurrentScale();
     cX = -svgE.currentTranslate.x *scale + (spx * scale)
     cY = -svgE.currentTranslate.y *scale + (spy * scale)

     offsetX = curCoordx - cX;
     offsetY = curCoordy - cY;

     svgE.currentTranslate.x = svgE.currentTranslate.x  - offsetX / scale;
     svgE.currentTranslate.y = svgE.currentTranslate.y  - offsetY / scale;

   spx,spy为鼠标所在位置!
  虽然可以实现鼠标位置不变,但是有时候会感觉图形很快的移动一下,有时候又没有!该怎么办????


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
35.156ms