http://www.chinavisual.com/articles/3047.html
解决方案 »
- 用户能不能绕过部分JS代码呢?
- jquery 隐藏层 显示问题
- javasctipt怎么做网站访客浏览轨迹跟踪?
- ,如果加密密钥相同,选择的密钥长度相同,对同一段文字进行加密后的结果是否是一样的
- 再来一帖,大虾速回.解释一下这一段findInDoc代码!!!
- 高分求助(取IE地址欄的URL 和 產生隨機數的算法函數)
- JavaScript:DIV . ID的用法。哪位有帮我看看?
- 后台表单提交后,刷新前台数据,这个问题怎么解决!
- fason(阿信)/ possible_Y(这个问题有点儿难度!) 近来拿多点分,谢谢你们拉!
- python+selenium始终获取不到页面的alert弹窗一直报错,求大神帮忙啊
- csdn这个论坛。
- SELECT的一个不错的特征。。
<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)
rs += drawLine(x0,y0,endx,endy,color)
return rs;
}
function drawArc(x0,y0,radius,startAngle,endAngle,color)
{
rs = new Array();
tmpar = new Array();
startAngle = startAngle/360*Math.PI*2;
endAngle = endAngle/360*Math.PI*2;
for (var i=startAngle;i<endAngle;i+=(1/radius))
{
var dx = Math.sin(i)*radius+x0;
var dy = Math.cos(i)*radius+y0;
rs[rs.length] = "<table style='top:"+dy+";left:"+dx+";position:absolute'><td bgcolor="+color+" height=3></td></table>";
}
return (rs.join(""));
}
function drawCurve()
{
var rs = new Array();
for (var i=0;i<2*Math.PI;i+=.02)
{
var x = 300-Math.sin(i)*100
var y = 300-Math.cos(i)*100
rs[rs.length] = "<table style='top:"+x+";left:"+(i*100+90)+";position:absolute'><td bgcolor=blue height=3></td></table>";
rs[rs.length] = "<table style='top:"+y+";left:"+(i*100+90)+";position:absolute'><td bgcolor=violet height=3></td></table>";
}
return rs.join("");
}
//-->
</SCRIPT>
</body>
</html>
var i,n;
var w=200,h=160;//设置控件的宽和高
var arrData=new Array(12,13,14,21,23,24,32,34,43,20);//设置饼图的数据document.write('<OBJECT ID="DAControl" style="WIDTH='+w+';HEIGHT='+h+';border:0 solid black" CLASSID="CLSID:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D"></OBJECT>');//画出DAControl
var m=DAControl.PixelLibrary;
var arrCol=new Array(m.Red, m.Green, m.Blue, m.Aqua, m.Fuchsia, m.Gray,m.Lime, m.Maroon, m.Navy, m.Olive, m.Purple, m.Silver, m.Teal, m.Cyan, m.Magenta, m.Yellow, m.Black, m.White);//设置颜色数组
var iSum=0;for(i=0;i<arrData.length;i++)iSum+=arrData[i];//求出各数据的累加和
var ds=m.NewDrawingSurface();
var iFrom=0,iTo=0;
var iMax=4;//设置重画次数
var px=0,py=4;//设置x,y轴的倾斜度
for(n=0;n<=iMax;n+=0.5)//重画可产生立体感
for(i=0;i<arrData.length;i++){
ds.FillColor(arrCol[i]);//设置填充颜色
ds.BorderColor(arrCol[i]);//设置边框颜色
iTo+=arrData[i];//设置终止地点相关系数
ds.PieDegrees(-w/2+n*px,-h/2+(iMax-n)*py,iFrom/iSum*360,iTo/iSum*360,w-iMax*px,h-iMax*py);//画小块饼图
iFrom=iTo;//设置下一个数据初始位置相关系数
}
DAControl.Image=ds.Image;//设置DAControl的图形
DAControl.Start();//执行
</script>