html4画直线

来源:互联网 发布:红警科技时代mac版 编辑:程序博客网 时间:2024/05/05 23:19

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>line.html</title>    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="this is my page">    <meta http-equiv="content-type" content="text/html; charset=UTF-8">        <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->  </head>    <body >     </body>  <script type="text/javascript">  //能画直线就能画其他的图像,只是需要相应的算法,不过这样用性能不是很好,当然一下的代码还有不完善的地方,在这里只是做个演示 //因为公司最近要做个图像化的功能,我只会js  function Point(x,y,c){//用一个div模拟一个像素点x和y是坐标c是颜色  var div;  this.div=document.createElement("div");  this.div.style.fontSize="0px";  this.div.style.overFlow="hidden";  this.div.style.width="1px";  this.div.style.height="1px";  this.div.style.position="absolute";  this.div.style.backgroundColor=c;  this.div.style.top=y+"px";  this.div.style.left=x+"px";  document.body.appendChild(this.div);    }        function drawLine(x0,y0,x1,y1,c){//画一条直线x0,y0,x1,y1分别是开始坐标和结束坐标c是颜色  var x,y;  var cx,cy;  var steps=Math.abs(x1-x0)>Math.abs(y1-y0)?Math.abs(x1-x0):Math.abs(y1-y0);  x=parseFloat(x0);  y=parseFloat(y0);  cx=(x1-x0)/steps;  cy=(y1-y0)/steps;  for(var i=0;i<steps;i++){  new Point(Math.round(x),Math.round(y),c);  x+=cx;  y+=cy;  }    }  //drawLine(0,0,200,200,"red");  /*for(var i=0;i<1000;i+=20){  //drawLine(0,0,200,i,"#00ff00");  drawLine(i,0,i,1000,"#00ff00");  drawLine(0,i,1000,i,"#00ff00");  }*/  drawLine(20,1000,0,0,"#00ff00");  var posX,posY,selectDiv;//这里的 selectDiv是一个选择框  document.onmousedown=function(e){  if(!e)e=window.event;  posX=e.clientX;  posY=e.clientY;  selectDiv=document.createElement("div");  selectDiv.style.fontSize="0px";  selectDiv.style.overFlow="hidden";  selectDiv.style.width="1px";  selectDiv.style.height="1px";  selectDiv.style.position="absolute";    selectDiv.style.top=posY+"px";  selectDiv.style.left=posX+"px";  selectDiv.style.border="1px dashed #B3B3B3";  document.body.appendChild(selectDiv);    }  document.onmousemove=function(e){  if(!e)e=window.event;  if(selectDiv){    selectDiv.style.width=(e.clientX-posX)+"px";  selectDiv.style.height=(e.clientY-posY)+"px";  drawLine(posX,posY,e.clientX,e.clientY,"red");  }  }      //new Point(20,20,"green");  </script></html>