以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 SVG/GML/VRML/X3D/XAML 』 (http://bbs.xml.org.cn/list.asp?boardid=21) ---- 请问高手,怎么样将SVG文件中的polyline对象移动啊 (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=20489) |
-- 作者:guoliping007 -- 发布时间:7/19/2005 11:08:00 AM -- 请问高手,怎么样将SVG文件中的polyline对象移动啊 有这样一个需求,就是要将SVG文件中的过程线通过鼠标或键盘的方向键来左右上下移动 这怎么实现呀,我连移动都不会呀 有思路的也行,先谢谢了! |
-- 作者:turta -- 发布时间:7/19/2005 4:38:00 PM -- 在svg对象的onmuosemove事件中添加捕获鼠标在屏幕中的实时点,可以通过计算新旧两个点的差值可以动态的设置新的polyline对象的x和y的值就可以让它移动了啊!! |
-- 作者:guoliping007 -- 发布时间:7/20/2005 12:10:00 AM -- 怎么样通过键盘的方向键移动呢 |
-- 作者:jgame -- 发布时间:7/28/2005 3:22:00 PM -- 捕获鼠标在屏幕中的实时点,或文字块 这个怎么写啊,,,help..........
|
-- 作者:zb9030@126.com -- 发布时间:8/8/2005 10:21:00 AM -- 我觉得,移动polyline对象,并不一定需要改变它的path值,可以把它当作一个整体,改变transform的值就行了,polyline对象的path的不会改变. 个人见解 |
-- 作者:mxr -- 发布时间:10/1/2005 4:48:00 PM -- <?xml version="1.0"?> <svg> <script><![CDATA[ function changeScale(k) { parent.root=svgDocument.documentElement; var old_scale=parent.root.currentScale; new_scale=old_scale*k; parent.root.currentScale=new_scale; } function choose(evt) { switch(parent.currentTool) { case 0: changeScale(2);break; case 1: changeScale(0.5);break; } } function MouseDown(evt) { parent.dragger=svgDocument.documentElement; parent.origX=evt.getClientX(); parent.origY=evt.getClientY(); parent.dx=parent.dragger.currentTranslate.x; parent.dy=parent.dragger.currentTranslate.y; } function MouseUp(evt) { if( parent.dragger != null ) { parent.dragger = null; parent.origX=0; parent.origY=0; parent.dx = 0; parent.dy = 0; } } function MouseMove(evt) { if(parent.currentTool == 2) { if( parent.dragger != null ) { var newX = parent.dx+(evt.getClientX() - parent.origX); var newY = parent.dy+(evt.getClientY() - parent.origY); parent.dragger.currentTranslate.x=newX; parent.dragger.currentTranslate.y=newY; } } } ]]></script> <g onclick="choose(evt)" onmousedown="MouseDown(evt)" onmousemove="MouseMove(evt)" onmouseup="MouseUp(evt)"> <rect x="0" y="0" width="200" height="200" style="fill:green;opacity:0.3;visibility:visible"/> <text x="15" y="25" id="Text" style="font-size:10">transform</text> </g> </svg> |
-- 作者:mxr -- 发布时间:10/1/2005 4:50:00 PM -- <?xml version="1.0"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> <svg> <script><![CDATA[ function chooseTool(evt) { var key=evt.getTarget().getAttribute("id"); switch(key) { case "note1": parent.currentTool=0;break; case "note2": parent.currentTool=1;break; case "note3": parent.currentTool=2;break; } } ]]></script> <text x="10" y="15" style="font-size:15">Zoom +<tspan dx="10" x="61" y="15">-</tspan></text> <rect id="note1" onclick="chooseTool(evt)" x="45" y="2" width="15" height="15" style="fill:rgb(255,0,0);opacity:0.2"/> <rect id="note2" onclick="chooseTool(evt)" x="65" y="2" width="15" height="15" style="fill:rgb(0,0,255);opacity:0.2"/> <text x="10" y="35" style="font-size:15">Pan *</text> <rect id="note3" onclick="chooseTool(evt)" x="35" y="22" width="15" height="15" style="fill:rgb(255,0,255);opacity:0.2"/> </svg> |
-- 作者:mxr -- 发布时间:10/1/2005 4:50:00 PM -- <html> <body> <script type="text/javascript"> var currentTool; var dragger; var dx; var dy; var origX; var origY; var root = null; </script> <p> <embed name="carve2" width="500" height="500" src="no1.svg"> <embed name="carve1" width="600" height="600" src="no2.svg"> </p> </body> </html> |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.988ms |