javascript+DHTML(2)

http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm网址不错。

javascript + DHTMl 画图(二)

★ 怎样使用这个矢量图形库?

1 .包含这个库
插入下面的代码到你的 html 文件的开头部分(在 <head> 和 </head> 之间):
 
<script type="text/javascript" src="wz_jsgraphics.js"></script>
 
2 .使用层( div 或 layer )作为画布( canvases )
如果是当页面正被载入时,直接在 html 页面中绘制,那么这个步骤不是必须的。
如果在页面加载完成后绘制,应该设置几个具有绝对坐标的层,作为你的画布,每一个层应该有一个唯一的 id:
<div id="myCanvas" style="position:relative;height:250px;width:100%;"></div>
...
<div id="anotherCanvas" style="position:relative;height:100px;width:300px;"></div>
 
3 .下载并保存这个图形库
到这个地址 http://www.walterzorn.com/scripts/wz_jsgraphics.zip 下 载,将解压后的 wz_jagraphics.js 与你的 html 文件放至相同的目录中,如果你的 wz_jagraphics.js 与 html 文件处于不同的目录下,记得在 src=”wz_jsgraphics.js” 中指示 wz_jagraphics.js 的相对路径。
 

★ 怎样使用这个矢量图形库中的绘制函数?
1 创建一个 jsGraphics 对象
a) 在页面完全载入后绘制:
(这种方式不会在 Netscape 版本 4 和 Opera 版本小于 7 的浏览器中执行)
还 记得前面用 div 元素创建的画布吗?看下面的示例, 需要为 div 创建相应的 jsGraphics 对象,这些代码必须插入到相关的 div 元素结束标志 </div> 后面, 但必须在 </body> 的前面, div 元素的 id 作为 new jsGraphics(); 的构造参数,像下面这样:
<script type="text/javascript">
<!--

var jg = new jsGraphics("myCanvas");

//-->
</script>
如果有多个 div 元素,每一个 div 都需要有它自已的 jsGraphics 对象:
<script type="text/javascript">
<!--

var jg = new jsGraphics("myCanvas");
var jg2 = new jsGraphics("anotherCanvas");

//-->
</script>
 
b )在页面载入的时候绘制
(在 Netscape 4 和 Opera 5/6 可以执行)
只需要将构造参数设为空:
 
<script type="text/javascript">
<!--

var jg_doc = new jsGraphics();

//-->
</script>
你可以选择 jg,jg2 或 jg_doc 其它的变量名,只要不违反 Javascript 的命名规则就可以。
 
  

2. 图形绘制函数
为确保所有浏览器能正确执行, 这里选择页面载入时进行绘制,即上文的 b 方式
一旦产生这些图形对象(在这个示例中 jg, jg2 或 jg_doc ),就可以使用它来调用绘制图形的方法。由图形对象所绘制的图形将会在相关的 div 元素上显示(采用上文 a 方式构造图形对象):
 
<script type="text/javascript">
<!--
function myDrawFunction()
{
jg_doc.setColor("#00ff00"); // 选择绿色
jg_doc.fillEllipse(100, 200, 100, 180); // 坐标点相对于文档 (document)
jg_doc.setColor("maroon");
jg_doc.drawPolyline(new Array(50, 10, 120), new Array(10, 50, 70));
jg_doc.paint(); // 注意:直接在文档上绘制,而不与某个 div 关联 ,

jg.setColor("#ff0000"); // 选择红色
jg.drawLine(10, 113, 220, 55); // 坐标点相对于 div 元素 "myCanvas"
jg.setColor("#0000ff"); // 选择蓝色
jg.fillRect(110, 120, 30, 60);
jg.paint();

jg2.setColor("#0000ff"); // 选择蓝色
jg2.drawEllipse(10, 50, 30, 100);
jg2.drawRect(400, 10, 100, 50);
jg2.paint();
}

var jg_doc = new jsGraphics(); // 直接在文档上绘制
var jg = new jsGraphics("myCanvas");
var jg2 = new jsGraphics("anotherCanvas");

myDrawFunction();

//-->
</script>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值