html>
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<title> emu 's paint without vlm </title>
</head>
<SCRIPT LANGUAGE= "JavaScript">
<!--
function testDrawCurve()
{
document.getElementById('div1').innerHTML = drawCurve();
}
function testDrawArc()
{
document.getElementById('div1').innerHTML =drawArc(150,150,100,0,270, "viloet")
}
function testDrawCircle()
{
document.getElementById('div1').innerHTML = drawCircle(200,200,150, "blue");
}
function drawCircle(x0,y0,radius,color)
{
return drawArc(x0,y0,radius,0,360,color)
}
function testDrawLine()
{
document.getElementById('div1').innerHTML = drawLine(100,200,500,200, "yellow")+drawLine(300,100,300,400, "black")+drawLine(600,400,100,100, "violet")+drawLine(10,50,300,200, "red");
alert(drawLine(10,50,300,200, "red"));
}
function testDrawRectangle()
{
document.getElementById('div1').innerHTML = drawRectangle(200,100,600,200, "blue")+drawRectangle(100,200,400,500, "red")
}
function testDrawPie()
{
document.getElementById('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>
<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><table style='top:50.15;left:10.88;position:absolute'><td bgcolor=red height=1></td></table></div>
</body>
</html>
========================
//改div画线...
function drawLine(x0,y0,x1,y1,color){
var rs =" ";
if(y0 == y1) //画横线
{
rs = " <div style= 'background-color:"+color+ ";height:1;width:"+Math.abs(x1-x0)+";top: "+y0+ ";left: "+x0+ ";position:absolute;line-height: 1px; overflow: hidden;'></div>";
//<div style='width:1px;height:1px;top:50;left:10;position:absolute;background-color:red; line-height: 1px; overflow: hidden;'>
}
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> ";
rs = " <div style= 'background-color:"+color+ ";width:1;height:"+Math.abs(y1-y0)+";top: "+y0+ ";left: "+x0+ ";position:absolute;line-height: 1px; overflow: hidden;'></div>";
}
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] = " <div style= 'width:1px;height:1px;top: "+py+ ";left: "+px+ ";position:absolute;background-color:"+color+";line-height: 1px; overflow: hidden;'></div> ";
}
rs = rs.join(" ");
}
return rs
}
========================
分享到:
相关推荐
在页面中画线.rar在页面中画线.rar在页面中画线.rar在页面中画线.rar在页面中画线.rar在页面中画线.rar
纯js画曲线功能,当有数据时,替换数据即可
一款基于prototype.js的网页画线插件,画曲线图插件,使用本插件可在网页上生成虚线、物理抛物线、正弦波曲线,数字信息曲线等各种线形。本开源包中仅包括插件代码,不带有示例,需要的可参考官方 网站的调用例子。
Google Javascript画线功能excanvas
ArcGIS API for JavaScript 实现identifyTask 画线选取元素
利用js技术在网页上画出线条、多边形。。。 详细概述及示例
纯js实现鼠标移动轨迹线的绘制,回车轨迹回放。 操作说明:在窗口中任意位置点击鼠标,程序将在两点间画线; 并通过拟合曲线算法,对...工作原理:在页面中动态添加div块的方式,模拟画线。 作者邮箱:258385583@qq.com
兼容主流浏览器 IE7+ FF chrome 360 等等
通过鼠标点击完成画线,是GIS初学者必须掌握的技能。
threejs 生成 带宽度线,动态连续的箭头线
three.js中实现的宽线符号动画,可以自定义符号、符号的填充模式、符号放置的像素长度和间隔、动画速度等。 动画计算基于着色器,性能高效,可以用来制作线的流光效果、导航线动画等。
arcgis api for javascript 实现动态轨迹(巡查轨迹)
本人最近写的js画线程序,使用于工作流程序
网页CAD中的批注画线功能可以通过JavaScript、HTML5和CSS实现。以下是一些大致的步骤: 首先,需要一个能够显示CAD图形的WebGL渲染器,例如Three.js或Babylon.js。将CAD图形加载到WebGL渲染器中,以便您可以在其上...
js加入购物车抛物线动画与购物车效果特效,亲测可用, 当您在电商购物网站浏览中意的商品时,您可以点击页面中的“加入购物车”按钮即可将商品加入的购物车中。本文介绍借助一款基于jQuery的动画插件,点击加入...
DDA画线的一系列代码,用visual studio 实现
js拖放绘制线条 连接线js拖放绘制线条比如用于动态创建工作流
Arcgis for Javascript 3.22
本文实例讲述了js实现两点之间画线的方法。分享给大家供大家参考。具体分析如下: 最近有点无聊,琢磨了很久,想到了一消磨时间的点子,也就是做js版的连连看。 两点之间画线也只是连连看最基本功能的一部分,所以我...