用JavaScript绘图—JS2D函数集

2016-02-19 14:40 40 1 收藏

今天图老师小编要向大家分享个用JavaScript绘图—JS2D函数集教程,过程简单易学,相信聪明的你一定能轻松get!

【 tulaoshi.com - Web开发 】

script Language="javascript"br /
/****************** JS2D函数集  *******************br /
br /
  作者:neweroica    2003-3-28br /
br /
  CopyRight (C) 2003br /
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=0trtd 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;ir;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 /
 &nbs

/br /
function drawOval(x,y,a,b,color,size,precision){br /
  var i;br /
  var iMax=2*Math.PI;br /
  var step=2*Math.PI/(precision*Math.sqrt(a*b)*4.5);br /
  for(i=0;iiMax;i+=step){br /
    drawDot(x+a*Math.cos(i),y+b*Math.sin(i),color,size);br /
  }br /
}br /
br /
/************* 画多边形 **************br /
  x,y     中心所在的屏幕坐标(像素)br /
  r       多边形外接圆半径(像素)br /
  n       多边形的边数br /
  color   颜色(字符串值)br /
  size    大小(像素)br /
  style   样式br /
          =0    实线br /
          =1    虚线br /
          =2    虚实线br /
**********************************/br /
function drawPoly(x,y,r,n,color,size,style){br /
  var i;br /
  var theta=Math.PI;br /
  var x1=x,y1=y-r,x2,y2;br /
  for(i=0;in;i++){br /
    theta-=(2*Math.PI/n);br /
    x2=x+r*Math.sin(theta);br /
    y2=y+r*Math.cos(theta);br /
    drawLine(x1,y1,x2,y2,color,size,style);br /
    x1=x2;br /
    y1=y2;//alert(x1+" "+y1)br /
  }br /
}br /
/scriptbr /
br /
br /
scriptbr /
//****************** JS2D函数集示例  *******************br /
drawLine(20,20,300,20,"#0000cc",2,0);br /
drawLine(20,40,300,40,"#0000cc",2,1);br /
drawLine(20,60,300,60,"#0000cc",2,2);br /
drawFilledRect(20,80,300,200,"009900");br /
drawRect(20,220,220,320,"ff0000",2,0);br /
drawRect(240,220,440,320,"ff0000",2,1);br /
drawRect(460,220,660,320,"ff0000",2,2);br /
drawOval(250,450,120,50,"006600",1,1);br /
drawOval(250,650,120,120,"006600",2,0.5);br /
drawPoly(200,900,100,3,"ff8800",2,0);br /
drawPoly(400,900,100,4,"ff8800",2,1);br /
drawPoly(600,900,100,5,"ff8800",2,2);br /
drawPoly(200,1100,100,6,"ff8800",2,0);br /
drawPoly(400,1100,100,7,"ff8800",2,1);br /
drawPoly(600,1100,100,12,"ff8800",2,2);br /
/script

来源:https://www.tulaoshi.com/n/20160219/1607538.html

延伸阅读
标签: Web开发
毫无疑问,John Resig 是一个细致且善于思考的人,对于我们通常使用的匿名函数,在他的细究之下,也能挖掘出一些新的东西。通常情况下,当一个函数调用自身时,递归就出现了,对于下面这样的函数调用,我们并不陌生。 1.function yell(n){ 2.       return n 0 ? yell(n-1) + "a" : "hiy&...
标签: Web开发
很多语言都有类似php中的include和require功能的函数,而唯独javascript没有。  很早就想在js中实现类似的功能,尝试了很多次都没有成功,那天在google上搜索一些关于动态加载css文件的关键词时,发现一个blog(地址找不到了)上的一个为网页的head标签增加link元素的函数,于是就改了一下,写了这个函数。  用法:  include...
标签: Web开发
作者:F. Permadi 译者:Sheneyan(子乌) 英文原文: INTRODUCTION TO JavaScript Functions 中文译文(包括示例):javascript的函数 子乌注:一篇相当不错的function入门文章,个人感觉相当经典。 词语翻译列表: function:函数(Function未翻译) declare:定义 assign:指派,分配 functionbody:函数体(就是函数的内容) object:对象 prop...
标签: Web开发
/* ------------------------------------------------------------------------------- 文件名称:check.js 说明:JavaScript脚本,用于检查网页提交表单的输入数据 版本:1.0 */ /* 用途:校验ip地址的格式 输入:strIP:ip地址 返回:如果通过验证返回true,否则返回false; */ function isIP(strIP) {  if (...
标签: Web开发
在什么地方插入 JavaScript JavaScript 可以出现在 HTML 的任意地方。使用标记script/script,你可以在 HTML 文档的任意地方插入 JavaScript,甚至在HTML之前插入也不成问题。不过如果要在声明框架的网页(框架网页)中插入,就一定要在frameset之前插入,否则不会运行。 基本格式 script !-- ... (JavaScript代码) ... //-- /scrip...

经验教程

156

收藏

29
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部