当前位置: 代码迷 >> ASP >> 求用ASP可以显示多条曲线的图形代吗?解决思路
  详细解决方案

求用ASP可以显示多条曲线的图形代吗?解决思路

热度:197   发布时间:2012-03-18 13:55:39.0
求用ASP可以显示多条曲线的图形代吗?
求用ASP可以显示多条曲线的图形代吗?

------解决方案--------------------
<html>
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<title> emu 's paint without vlm </title>
</head>
<body>
<button onclick= "testDrawCurve() "> 画曲线 </button>
<button onclick= "testDrawArc() "> 画弧线 </button>
<button onclick= "testDrawCircle() "> 画圆 </button>
<button onclick= "testDrawLine() "> 画线 </button>
<button onclick= "testDrawRectangle() "> 画矩形 </button>
<button onclick= "testDrawPie() "> 画饼图 </button>
<div id=div1> </div>
<SCRIPT LANGUAGE= "JavaScript ">
<!--
function testDrawCurve()
{
div1.innerHTML = drawCurve();
}
function testDrawArc()
{
div1.innerHTML =drawArc(150,150,100,0,270, "viloet ")
}
function testDrawCircle()
{
div1.innerHTML = drawCircle(200,200,150, "blue ");
}
function drawCircle(x0,y0,radius,color)
{
return drawArc(x0,y0,radius,0,360,color)
}
function testDrawLine()
{
div1.innerHTML = drawLine(100,200,500,200, "yellow ")+drawLine(300,100,300,400, "black ")+drawLine(600,400,100,100, "violet ")
}
function testDrawRectangle()
{
div1.innerHTML = drawRectangle(200,100,600,200, "blue ")+drawRectangle(100,200,400,500, "red ")
}
function testDrawPie()
{
div1.innerHTML = drawPie(300,200,120,0,45, "red ");
}

function drawLine(x0,y0,x1,y1,color)
{
var rs = " ";
if (y0 == y1) //画横线
{
rs = " <table style= 'top: "+y0+ ";left: "+x0+ ";position:absolute '> <td bgcolor= "+color+ " height=3 width= "+Math.abs(x1-x0)+ "> </td> </table> ";
}
else if (x0 == x1) //画竖线
{
rs = " <table style= 'top: "+y0+ ";left: "+x0+ ";position:absolute '> <td bgcolor= "+color+ " width=1 height= "+Math.abs(y1-y0)+ "> </td> </table> ";
}
else
{
var lx = x1-x0
var ly = y1-y0
var l = Math.sqrt(lx*lx+ly*ly)
rs = new Array();
for (var I=0;I <l;I+=1)
{
var p = I/l;
var px = x0 + lx*p;
var py = y0 + ly*p;
rs[rs.length] = " <table style= 'top: "+py+ ";left: "+px+ ";position:absolute '> <td bgcolor= "+color+ " height=3> </td> </table> ";
}
rs = rs.join( " ");
}
return rs
}
function drawRectangle(x0,y0,x1,y1,color)
{
if (x0 == x1 || y0 == y1) return;
if (x0> x1) {var t=x0;x0=x1;x1=t}
if (y0> y1) {var t=y0;y0=y1;y1=t}
return " <table style= 'top: "+y0+ ";left: "+x0+ ";position:absolute '> <td bgcolor= "+color+ " width= "+(x1-x0)+ " height= "+(y1-y0)+ "> </td> </table> ";
}
function drawPie(x0,y0,radius,startAngle,endAngle,color)
{
var rs = drawArc(x0,y0,radius,startAngle,endAngle,color)
startAngle = startAngle/360*Math.PI*2;
endAngle = endAngle/360*Math.PI*2;
var startx=Math.sin(startAngle)*radius+x0;
var endx=Math.sin(endAngle)*radius+x0;
var starty=Math.cos(startAngle)*radius+y0;
var endy=Math.cos(endAngle)*radius+y0;
rs += drawLine(x0,y0,startx,starty,color)
  相关解决方案