当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用javascript绘图—JS2D函数集

Javascript
JavaScript XML实现两级级联下拉列表
javascript显示选择目录对话框的代码
javascript HTML操作代码
用js删除tbody的代码
javascript firefox不显示本地预览图片问题的解决方法
js Array的用法总结
js fromCharCode输出26个字母的代码
js option删除代码集合
JavaScript面向对象之体会[总结]
javascript 命名空间以提高代码重用性
javascript vvorld 在线加密破解方法
javascript 限制输入和粘贴(IE和火狐3.x下测试通过)
火狐浏览器(firefox)下获得Event对象以及keyCode
刷新页面实现方式总结(HTML,ASP,JS)
Ajax,UTF-8还是GB2312 eval 还是execScript
javascript 出生日期和身份证判断大全
JS清空上传控件input(type="file")的值的代码
javascript 限制输入和粘贴(IE,firefox测试通过)
js实现简单模态窗口,背景灰显
option挡住div解决方法

Javascript 中的 用javascript绘图—JS2D函数集


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 277 ::
收藏到网摘: n/a

  <script Language="javascript"><br />
/****************** JS2D函数集  *******************<br />
<br />
  作者:neweroica    2003-3-28<br />
<br />
  CopyRight (C) 2003<br />
<br />
  在引用或转载时请保留此版权信息,谢谢!!!<br />
<br />
  本函数集可以单独存成一个js文件:"JS2D.js"<br />
<br />
***************************************************/<br />
<br />
/************* 画点 **************<br />
  x,y     点所在的屏幕坐标(像素)<br />
  color   颜色(字符串值)<br />
  size    大小(像素)<br />
**********************************/<br />
function drawDot(x,y,color,size){<br />
  document.write("<table border='0' cellspacing=0 cellpadding=0><tr><td style='position: absolute; left: "+(x)+"; top: "+(y)+";background-color: "+color+"' width="+size+" height="+size+"></td></tr></table>")<br />
}<br />
<br />
/************* 画直线 **************<br />
  x1,y1   起点所在的屏幕坐标(像素)<br />
  x2,y2   终点所在的屏幕坐标(像素)<br />
  color   颜色(字符串值)<br />
  size    大小(像素)<br />
  style   样式<br />
          =0    实线<br />
          =1    虚线<br />
          =2    虚实线<br />
**********************************/<br />
function drawLine(x1,y1,x2,y2,color,size,style){<br />
  var i;<br />
  var r=Math.floor(Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)));<br />
  var theta=Math.atan((x2-x1)/(y2-y1));<br />
  if(((y2-y1)<0&&(x2-x1)>0)||((y2-y1)<0&&(x2-x1)<0))<br />
    theta=Math.PI+theta;<br />
  var dx=Math.sin(theta);//alert(dx)<br />
  var dy=Math.cos(theta);<br />
  for(i=0;i<r;i++){<br />
    switch(style){<br />
      case 0:<br />
        drawDot(x1+i*dx,y1+i*dy,color,size);<br />
        break;<br />
      case 1:<br />
        i+=size*2;<br />
        drawDot(x1+i*dx,y1+i*dy,color,size);<br />
        break;<br />
      case 2:<br />
        if(Math.floor(i/4/size)%2==0){<br />
          drawDot(x1+i*dx,y1+i*dy,color,size);<br />
        }<br />
        else{<br />
            i+=size*2;<br />
            drawDot(x1+i*dx,y1+i*dy,color,size);<br />
        }<br />
        break;<br />
      default:<br />
        drawDot(x1+i*dx,y1+i*dy,color,size);<br />
        break;<br />
    }<br />
  }<br />
}<br />
<br />
/************* 画实心矩形 **************<br />
  x1,y1   起点(矩形左上角)所在的屏幕坐标(像素)<br />
&n