以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 SVG/GML/VRML/X3D/XAML 』  (http://bbs.xml.org.cn/list.asp?boardid=21)
----  这个vml用svg该怎么来实现?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=25861)


--  作者:yooono
--  发布时间:12/24/2005 11:29:00 PM

--  这个vml用svg该怎么来实现?
最近做一个页面涂鸦的站点,不知道该用vml还是svg;
个人倾向svg得,因为vml代码真的是没发看。
下面是一个用vml实现的画线,抛砖引玉,请高手看看用svg该怎么写.
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>签名研究</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<STYLE>
v\:* { BEHAVIOR: url(#default#VML) }
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
cursor:url(pen_i.cur);
}
.p1{cursor:url(pen_i.cur)}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
//作者坚信科学技术是第一生产力,努力向技术更高峰攀登。决定了就要去做,做就要做好!
var flag  = 0;
var ind   = 0; //曲线段计数
var indNb = 0; //曲线段内部坐标计数
var point = new Array();
var xian  = "";
function microsoftMouseMove() {
if ((window.event.x != document.all.x.value || window.event.y != document.all.y.value) && flag==1) {
  document.all.x.value = window.event.x;
  document.all.y.value = window.event.y;

  point[ind][indNb] = window.event.x + "," + window.event.y; //记录鼠标x,y坐标
  xian += point[ind][indNb] + " ";

  indNb += 1; //点数累加
}
}

function msDown() {
xian = "";
xian = "<v:PolyLine style='POSITION:absolute;Z-INDEX:1;WIDTH:1;HEIGHT:1;TOP:0;LEFT:0' filled='false' Points='"
point[ind] = new Array();
indNb = 0; //新线段开始,点数清零
point[ind][indNb] = window.event.x + "," + window.event.y; //记录鼠标x,y坐标
xian  += point[ind][indNb] + " ";
indNb += 1; //点数累加
flag = 1;
}

function msUp() {
flag = 0;
ind += 1; //线段数累加
if (xian != "") {
  xian += "'/>";
  newPoint = document.createElement(xian);
  group1.appendChild(newPoint);
  parent.document.all.txt.value += xian + "\n";
}
}

function printXd() {
lin = point.length;
str = "";
for (i=0; i<lin; i++) {
  ct  = point[i].length;
  str += "<v:PolyLine style='POSITION:absolute;Z-INDEX:1;WIDTH:1;HEIGHT:1;TOP:0;LEFT:0' filled='false' Points='"
  for (j=0; j<ct; j++) {
   str += point[i][j] + " ";
  }
  str += "'/>\n";
}
}
</SCRIPT>
<body bgcolor="#fef4d9" onmousemove="microsoftMouseMove()" onmousedown="msDown()" onmouseup="msUp()" onselectstart="return false;">
<div id=test style="display:none;">
<input type="text" name="x" size="4"><input type="text" name="y" size="4">
</div>
<v:group ID="group1" style="WIDTH:200px;HEIGHT:175px;TOP:0;LEFT:0" coordsize="200,200"></v:group>
</body>
</html>


--  作者:yooono
--  发布时间:12/25/2005 8:51:00 AM

--  
郁闷呀,弄svg感觉又回到了dos时代

--  作者:yooono
--  发布时间:12/25/2005 8:59:00 AM

--  
是不是用svg需要很长代码?
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
30.273ms