和时间赛跑!
用心做事,诚信做人,超越自我,步步领先
登录
注册
全站
当前博客
空间
博客
好友
相册
留言
张钰
ID:ProvidenceZY
共
27633
次访问,排名
4007
好友
59
人,关注者
72
人
性格开朗,擅长沟通,热爱技术,自学能力强
ProvidenceZY的文章
原创 36 篇
翻译 0 篇
转载 5 篇
评论 40 篇
最近评论
hdnero:
wow gold
mawei_27:
要给ext源代码拷贝到项目下,并且目录为:plugins/extjs/ext-2.0
‘ext源代码’ 指的是什么啊 ,上面这句话谁能帮我详细解释 一下啊。
mawei_27:
这个怎么运行啊 我按着顺需都建在好了 其余的应该则么做啊
han0104:
路过
ltian999:
自私和贪婪是我们的本性,因为我们穷!我们必须劳动养家,没有闲暇时间去搞什么鸟开源。我们创造的利润大部分流到官僚买办贪污腐败者之手,我们能拿到的钱仅能养家糊口。所以开源是软件贵族的游戏,不是广大不同中国程序员所关心的,我们所关心的就是用好开源,做出产品养家糊口而以,因为我们无论如何也满足不了贪污腐败官僚买办阶层的胃口!
文章分类
程序设计
(RSS)
人生心得
(RSS)
软件工程
(RSS)
数据结构
(RSS)
数据库技术
(RSS)
算法驿站
(RSS)
团队发展
(RSS)
收藏
技术资料
相册
那时天好蓝!
朋友的Blog
CSDN
sql高手
算法
存档
2008年02月(1)
2008年01月(1)
2007年12月(2)
2007年11月(13)
2007年09月(2)
2007年08月(2)
2007年06月(1)
2007年03月(1)
2006年10月(11)
2006年08月(2)
2006年07月(4)
2006年06月(1)
软件项目交易
订阅我的博客
js绘图
收藏
新一篇: 详解spring事务属性
|
旧一篇: js获取本机信息
<
html
>
<
head
>
<
title
>
JavaScript绘图
</
title
>
<
script
language
="JavaScript"
>
...
IE4
=
!
(navigator.appVersion.charAt(
0
)
<
"
4
"
||
navigator.appName
==
"
Netscape
"
)
var
xo
=
0
var
yo
=
0
var
Ox
=
-
1
var
Oy
=
-
1
var
rad
=
Math.PI
/
180
var
maxY
=
400
var
color
=
"
red
"
function
print(str)
...
{
document.write(str)
}
function
orgY(y)
...
{
return
maxY
-
y
}
function
outPlot(x,y,w,h)
...
{
print(
'
<span style="position:absolute;left:
'
+
x
+
'
;top:
'
+
y
+
'
;height:
'
+
h
+
'
;width:
'
+
w
+
'
;font-size:1px;background-color:
'
+
color
+
'
"></span>
'
)
}
function
Plot(x,y)
...
{
outPlot(x,y,
1
,
1
)
if
(Ox
>=
0
||
Oy
>=
0
)
...
{
ShowLine(Ox,Oy,x
-
Ox,y
-
Oy)
}
Ox
=
x
Oy
=
y
}
function
ShowLine(x,y,w,h)
...
{
if
(w
<
0
)
...
{
x
+=
w
w
=
Math.abs(w)
}
if
(h
<
0
)
...
{
y
+=
h
h
=
Math.abs(h)
}
if
(w
<
1
) w
=
1
if
(h
<
1
) h
=
1
outPlot(x,y,Math.round(w),Math.round(h))
}
function
LineTo(x,y)
...
{
Line(xo,yo,x,y)
}
function
sign(n)
...
{
if
(n
>
0
)
return
1
if
(n
<
0
)
return
-
1
return
n
}
function
Line(x1,y1,x2,y2)
...
{
x2
=
Math.round(x2)
y2
=
Math.round(y2)
xo
=
x2
yo
=
y2
y1
=
orgY(y1)
y2
=
orgY(y2)
var
str
=
""
var
i
=
0
var
x
=
x1
var
y
=
y1
dx
=
Math.abs(x2
-
x1)
dy
=
Math.abs(y2
-
y1)
s1
=
sign(x2
-
x1)
s2
=
sign(y2
-
y1)
if
(dx
==
0
||
dy
==
0
)
...
{
ShowLine(x1,y1,x2
-
x1,y2
-
y1)
return
}
if
(dx
>
dy)
...
{
temp
=
dx
dx
=
dy
dy
=
temp
key
=
1
}
else
key
=
0
e
=
2
*
dy
-
dx
for
(i
=
0
;i
<
dx;i
++
)
...
{
px
=
0
py
=
0
Plot(x,y)
while
(e
>=
0
)
...
{
if
(key
==
1
)
...
{
x
+=
s1
px
+=
s1
}
else
...
{
y
+=
s2
py
+=
s2
}
e
=
e
-
2
*
dx
}
if
(key
==
1
)
y
+=
s2
else
x
+=
s1
e
=
e
+
2
*
dy
}
}
function
MoveTo(x,y)
...
{
Ox
=
Oy
=
-
1
xo
=
Math.round(x)
yo
=
Math.round(y)
}
//
圆
function
Cir(x,y,r)
...
{
MoveTo(x
+
r,y)
for
(i
=
0
;i
<=
360
;i
+=
5
)
...
{
LineTo(r
*
Math.cos(i
*
rad)
+
x,r
*
Math.sin(i
*
rad)
+
y)
}
}
//
弧形
function
Arc(x,y,r,a1,a2)
...
{
MoveTo(r
*
Math.cos(a1
*
rad)
+
x,r
*
Math.sin(a1
*
rad)
+
y)
for
(i
=
a1;i
<=
a2;i
++
)
...
{
LineTo(r
*
Math.cos(i
*
rad)
+
x,r
*
Math.sin(i
*
rad)
+
y)
}
}
//
扇形
function
Pei(x,y,r,a1,a2)
...
{
MoveTo(x,y)
for
(
var
i
=
a1;i
<=
a2;i
++
)
...
{
LineTo(r
*
Math.cos(i
*
rad)
+
x,r
*
Math.sin(i
*
rad)
+
y)
}
LineTo(x,y)
}
//
弹出扇形
function
PopPei(x,y,r,a1,a2)
...
{
dx
=
r
*
Math.cos((a1
+
(a2
-
a1)
/
2
)
*
rad)
/
10
dy
=
r
*
Math.sin((a1
+
(a2
-
a1)
/
2
)
*
rad)
/
10
x
+=
dx
y
+=
dy
MoveTo(x,y)
for
(
var
i
=
a1;i
<=
a2;i
++
)
...
{
LineTo(r
*
Math.cos(i
*
rad)
+
x,r
*
Math.sin(i
*
rad)
+
y)
}
LineTo(x,y)
}
//
矩形
function
Rect(x,y,w,h)
...
{
MoveTo(x,y)
LineTo(x
+
w,y)
LineTo(x
+
w,y
+
h)
LineTo(x,y
+
h)
LineTo(x,y)
}
//
准星
function
zhunxing(x,y)
...
{
var
ox
=
xo
var
oy
=
yo
var
oColor
=
color
color
=
"
#000000
"
Line(x
-
5
,y,x
+
6
,y)
Line(x,y
-
6
,x,y
+
5
)
print(
'
<span style="position:absolute;font-size:10pt;left:
'
+
(x
+
5
)
+
'
;top:
'
+
orgY(y
+
5
)
+
'
;">[
'
+
x
+
'
,
'
+
y
+
'
]</span>
'
)
color
=
oColor
xo
=
ox
yo
=
oy
}
//
标注
function
biaozhuStr(x,y,s)
...
{
return
'
<span style="position:absolute;font-size:10pt;left:
'
+
x
+
'
;top:
'
+
orgY(y)
+
'
;">
'
+
s
+
'
</span>
'
}
function
biaozhu(x,y,s,t)
...
{
var
ox
=
xo
var
oy
=
yo
var
oColor
=
color
point
=
"
p01.gif
"
if
(t
==
1
)
...
{
print(biaozhuStr(x
-
5
,y
+
6
,
"
·
"
+
s))
}
if
(t
==
2
)
...
{
print(biaozhuStr(xo
+
x
*
Math.cos(y
*
rad)
-
10
,yo
+
x
*
Math.sin(y
*
rad),s))
}
color
=
oColor
xo
=
ox
yo
=
oy
}
</
script
>
</
head
>
<
body
>
<
table
border
="0"
width
="100%"
>
<
tr
>
<
td
width
="100%"
style
="font-family: 方正舒体; font-size: 18pt; color: #FF0000"
class
="t1"
>
JavaScript绘图
</
td
>
</
tr
>
<
tr
>
<
td
width
="100%"
style
="font-family: 幼圆; font-size: 12pt; color: #008000"
class
="t2"
>
如果需要在网页上提供图形化的资料,通常是将其制作成图片,但这样一来网络上的开销就太大了。有什么办法呢?这里向你提供一组JavaScript函数,来解决这一问题。虽然简单了点,但是对画点线图来说还是绰绰有余的!
</
td
>
</
tr
>
</
table
>
<
script
>
...
if
(IE4)
...
{
//
基本图形
color
=
"
maroon
"
Cir(
50
,
40
,
20
)
Arc(
100
,
40
,
20
,
60
,
120
)
Pei(
150
,
60
,
40
,
240
,
300
)
Rect(
200
,
20
,
40
,
40
)