本来打算写个显示数据库关系的页面,可惜JS太慢了。代码又舍不得扔,就放在这里。

未完成的代码(JS)<html>
未完成的代码(JS)
<head> 
未完成的代码(JS)
<title>javascript绘图</title> 


line.js

未完成的代码(JS)var rad = Math.PI/180 
未完成的代码(JS)
var maxY = 400 
未完成的代码(JS)
var color = "red" 
未完成的代码(JS)
var Ox = -1 
未完成的代码(JS)
var Oy = -1 
未完成的代码(JS)
未完成的代码(JS)
function outPlot(x,y,w,h) { 
未完成的代码(JS)    print('
<span style="position:absolute;left:'+x+';top:'+y+';height:'+h+';width:'+w+';font-size:1px;background-color:'+color+'"></span>') 
未完成的代码(JS)
未完成的代码(JS)
未完成的代码(JS)
function Plot(x,y)
未完成的代码(JS)
未完成的代码(JS)    outPlot(x,y,
1,1
未完成的代码(JS)    
if(Ox>=0 || Oy>=0)
未完成的代码(JS)        ShowLine(Ox,Oy,x
-Ox,y-Oy) 
未完成的代码(JS)        
未完成的代码(JS)    Ox 
= x 
未完成的代码(JS)    Oy 
= y 
未完成的代码(JS)
未完成的代码(JS)
未完成的代码(JS)
function ShowLine(x,y,w,h)
未完成的代码(JS)
未完成的代码(JS)    
if(w<0)
未完成的代码(JS)    { 
未完成的代码(JS)        x 
+= w 
未完成的代码(JS)        w 
= Math.abs(w) 
未完成的代码(JS)    } 
未完成的代码(JS)    
未完成的代码(JS)    
if(h<0)
未完成的代码(JS)    { 
未完成的代码(JS)        y 
+= h 
未完成的代码(JS)        h 
= Math.abs(h) 
未完成的代码(JS)    } 
未完成的代码(JS)    
未完成的代码(JS)    
if(w<1) w=1 
未完成的代码(JS)    
if(h<1) h=1 
未完成的代码(JS)    outPlot(x,y,Math.round(w),Math.round(h)) 
未完成的代码(JS)
未完成的代码(JS)
未完成的代码(JS)
function orgY(y) {
未完成的代码(JS)    
return y;
未完成的代码(JS)    
return maxY-
未完成的代码(JS)}
未完成的代码(JS)
未完成的代码(JS)
function sign(n) { 
未完成的代码(JS)    
if(n>0return 1 
未完成的代码(JS)    
if(n<0return -1 
未完成的代码(JS)    
return n 
未完成的代码(JS)
未完成的代码(JS)
未完成的代码(JS)
未完成的代码(JS)
function Line(x1,y1,x2,y2) { 
未完成的代码(JS)    x2 
= Math.round(x2) 
未完成的代码(JS)    y2 
= Math.round(y2) 
未完成的代码(JS)    xo 
= x2 
未完成的代码(JS)    yo 
= y2 
未完成的代码(JS)    y1 
= orgY(y1) 
未完成的代码(JS)    y2 
= orgY(y2) 
未完成的代码(JS)    
var str = "" 
未完成的代码(JS)    
var i=0 
未完成的代码(JS)
未完成的代码(JS)    
var x = x1 
未完成的代码(JS)    
var y = y1 
未完成的代码(JS)    dx 
= Math.abs(x2-x1) 
未完成的代码(JS)    dy 
= Math.abs(y2-y1) 
未完成的代码(JS)    s1 
= sign(x2-x1) 
未完成的代码(JS)    s2 
= sign(y2-y1) 
未完成的代码(JS)
未完成的代码(JS)    
if(dx==0 || dy==0) { 
未完成的代码(JS)        ShowLine(x1,y1,x2
-x1,y2-y1) 
未完成的代码(JS)        
return 
未完成的代码(JS)    } 
未完成的代码(JS)
未完成的代码(JS)    
if(dx>dy)
未完成的代码(JS)    { 
未完成的代码(JS)        temp 
= dx 
未完成的代码(JS)        dx 
= dy 
未完成的代码(JS)        dy 
= temp 
未完成的代码(JS)        key 
= 1 
未完成的代码(JS)    }
else 
未完成的代码(JS)        key 
= 0 
未完成的代码(JS)
未完成的代码(JS)    e 
= 2*dy-dx 
未完成的代码(JS)
未完成的代码(JS)    
for(i=0;i<dx;i++)
未完成的代码(JS)    { 
未完成的代码(JS)        px 
= 0 
未完成的代码(JS)        py 
= 0 
未完成的代码(JS)        Plot(x,y) 
未完成的代码(JS)        
while(e>=0)
未完成的代码(JS)        { 
未完成的代码(JS)            
if(key==1)
未完成的代码(JS)            { 
未完成的代码(JS)                x 
+= s1 
未完成的代码(JS)                px 
+= s1 
未完成的代码(JS)            }
else { 
未完成的代码(JS)                y 
+= s2 
未完成的代码(JS)                py 
+= s2 
未完成的代码(JS)            } 
未完成的代码(JS)            e 
= e-2*dx 
未完成的代码(JS)        } 
未完成的代码(JS)        
未完成的代码(JS)        
if(key==1
未完成的代码(JS)            y 
+= s2 
未完成的代码(JS)        
else 
未完成的代码(JS)            x 
+= s1 
未完成的代码(JS)        
未完成的代码(JS)        e 
= e+2*dy 
未完成的代码(JS)    } 
未完成的代码(JS)
未完成的代码(JS)
未完成的代码(JS)
function print(str) { 
未完成的代码(JS)    document.all.printLine.innerHTML 
+= str; 
未完成的代码(JS)

相关文章:

  • 2022-12-23
  • 2022-02-28
  • 2022-12-23
  • 2022-12-23
  • 2022-01-10
  • 2021-12-23
  • 2022-01-23
猜你喜欢
  • 2021-10-18
  • 2021-08-23
  • 2022-12-23
  • 2022-03-09
  • 2021-12-03
相关资源
相似解决方案