`

JS Canvas 画图中的面向对象

    博客分类:
  • JS
阅读更多

最近的发现:IE中支持Canvas的使用:

IE中使用Google的一个类excanvas.js来模拟支持Canvas。

具体的使用中要使用方法的方式来调用:

1、除了在页面中引用这个js文件。

2、请将代码放在页面的ONLOAD方法中调用,以让页面完全加载完毕,之后IE才能支持excanvas.js


关于Canvas的详细使用的方法请参照Opera网站中关于该标签的详细解释:

http://kb.operachina.com/node/190

 

大致看了下这其中的代码,其中的JS都是对象化了的。主要是使用了一个开源的JS类,

/*
    Base, version 1.0.1
    Copyright 2006, Dean Edwards
    License: http://creativecommons.org/licenses/LGPL/2.1/
*/

 

类CanvasWidget:

扩展基类:Base

 

var CanvasWidget = Base.extend({

变量:
    canvas: null,
    context: null,
    position: null,

构造函数:

constructor: function(canvasElementID, position) {
        this.canvas = document.getElementById(canvasElementID);

},

函数:

/**
     * Initializes all the mouse listeners for the widget.
*/
initMouseListeners: function() {
        this.mouseMoveTrigger = new Function();

}

});

 

 

类CanvasPainter扩展CanvasWidget类


var CanvasPainter = CanvasWidget.extend({
    canvasInterface: "",
    contextI: "",

    constructor: function(canvasName, canvasInterfaceName, position) {
        this.canvasInterface = document.getElementById(canvasInterfaceName);

此处调用父类的构造函数:
        this.inherit(canvasName, position);

    }
});

 

 

 

说明 : 以上代码使用的是1.0.1的Base类。   现在已经升级到1.1a的版本,调用父类方法的方式也变了,变成

 this.base(canvasName, position);

分享到:
评论
1 楼 hellomaya007 2012-05-10  
能留个扣吗?我也研究过这段代码,有些地方想请教

相关推荐

    原生JS使用Canvas实现拖拽式绘图功能

    原生JS使用Canvas实现拖拽式绘图功能的知识点涵盖了Canvas API的基础应用、面向对象编程思想在Canvas绘图中的运用以及鼠标事件的处理,以下是详细解析: 1. Canvas API基础知识 - Canvas元素:HTML5新增的Canvas...

    JSPaint一个用JS实现类似于windows的画图工具

    这体现了JavaScript的事件驱动机制和面向对象编程思想。此外,通过AJAX技术,项目可能还实现了数据的异步传输,允许用户保存和加载他们的作品。 二、Canvas绘图API 在JS Paint中,HTML5的Canvas元素扮演了关键角色...

    Canvas资料大全 当下流行的画图标签Canvas ,提供了全面的实例,文档,希望对你的学习有所帮助

    Yii是一个高效的、面向对象的PHP框架,用于开发Web2.0应用。它提供了MVC(模型-视图-控制器)架构模式,使得代码结构清晰,易于维护。Yii的性能优化特性,如缓存管理、数据库访问优化,使其在大型项目中表现优秀。 ...

    HTML5 Canvas核心技术 图形、动画与游戏开发

    网络应用开发是一项外延很广的领域,在企业级开发中,我们要学习各种服务器通信技术、软件架构及开发框架,而在另外一些实用软件及游戏的开发中,则又需要投入大量时间进行...对HTML5 Canvas画图功能感兴趣的读者阅读。

    有关画图的DEMO

    总的来说,"有关画图的DEMO"可能涵盖了计算机图形学的基础知识、图形库的使用、面向对象的设计原则、事件驱动编程以及图形用户界面的实现等众多方面。通过深入学习和实践这样的DEMO,开发者可以掌握创建自定义画图...

    一个非常实用的WEB画图控件

    JAVA是一种广泛使用的后端编程语言,具有跨平台、面向对象的特点。在Web应用中,JAVA通常通过Servlet、JSP、Spring MVC等框架与前端交互,处理用户的请求和数据。而这个画图控件则是在这个基础上提供了一种图形用户...

    js画图(3D Pie 类封装)

    总的来说,"js画图(3D Pie 类封装)"涉及的知识点涵盖了JavaScript编程、3D图形学、WebGL、Three.js库的使用、数据处理、动画制作以及面向对象的类设计。通过熟练掌握这些技能,你可以创造出功能强大且视觉效果出色的...

    HTML5 Canvas绘制蓝色泡沫动画效果源码.zip

    通过这个源码,我们可以学习到HTML5 Canvas的基础用法,了解如何利用它来创建动态效果,同时也能了解到JavaScript编程中的面向对象设计思想以及动画原理。这个示例是一个很好的实践项目,可以帮助开发者提升在Web...

    画图板--Java课程设计.doc

    1. **面向对象编程**:整个项目基于面向对象的编程思想,利用Java的类和对象来构建各个功能模块。例如,可以创建一个`Canvas`类代表画布,一个`Pen`类表示画笔,还有各种形状的类(如`Line`, `Rectangle`, `Ellipse`...

    集画图工具 启动画面 对话框弹出效果于一身(自己做的)

    在编程中,这通常涉及到面向对象编程,将画笔、刷子、图像对象等封装成类,以便用户可以通过调用方法来完成画图操作。 其次,启动画面是软件给用户的第一印象,它不仅美化了用户体验,还可能包含加载程序所需资源的...

    JavaScript练习程序学习笔记.rar

    另外,ES6引入了类和模块,让JavaScript的面向对象编程更加简洁。 事件驱动编程是JavaScript的另一个关键特性,用于响应用户的交互。事件监听器、事件处理器和事件传播是其核心概念。例如,通过addEventListener或...

    html5 彩色的俄罗斯方块游戏代码

    Canvas是一个矩形区域,通过JavaScript API,我们可以控制这个区域内像素级别的画图操作,包括画线、填充形状、绘制图像等。在这个游戏中,每一个方块、背景、得分等元素都是通过Canvas API绘制出来的。 面向对象...

    JS星际争霸网页游戏 [侠客网络版].zip

    4. **对象和类**:JavaScript支持面向对象编程,游戏中的角色、单位、建筑等可能都是通过类来定义的。 5. **数据结构和算法**:在游戏开发中,数组、对象、队列、栈等数据结构,以及搜索、排序等算法会频繁出现。 ...

    兼容FireFox 用javascript写的一个画图函数

    - 使用面向对象的设计模式可以使代码更加模块化,易于扩展和调试。 3. **兼容性增强**: - 考虑使用前缀或Polyfill库来确保更广泛的浏览器支持。 - 对于较旧的浏览器版本,可能还需要额外的兼容性处理。 #### ...

    js生成各种统计图表

    例如,D3.js则更强调编程式的图表创建,需要开发者手动操作DOM元素,而Highcharts和Chart.js则提供了更加面向对象的API,易于上手。 总之,JavaScript为生成统计图表提供了丰富的工具和资源。无论是简单的数据展示...

    大熊猫吃竹子动画代码_html_熊猫代码_

    在本项目中,HTML可能包含了一个`<canvas>`元素,这是一个图形绘制区域,我们可以在这个区域内通过JavaScript进行动态画图和动画处理。`<canvas>`元素通常通过id属性来标识,例如`<canvas id="pandaCanvas"></canvas...

    java script 的CS

    5. **对象和类**:JavaScript支持面向对象编程,可以定义游戏对象,如玩家、敌人、武器等,并为它们创建类,实现继承和多态性。 6. **网络通信**:如果游戏是多人在线的,JavaScript还可以利用Ajax或WebSocket实现...

    H5小游戏源码 随意门(屌丝版).zip

    你需要熟悉JavaScript的基础语法、变量、数据类型、控制流、函数以及面向对象编程等概念。 4. **事件处理**:H5游戏通常需要响应用户的触摸或鼠标事件,例如点击、滑动等。你需要理解如何使用addEventListener来...

    在线白板设计与实现

    "Java"是主要的后端开发语言,它以其跨平台的特性、强大的类库支持以及面向对象的设计思想,成为了构建大型Web应用的首选。Java的Spring MVC框架在此中起到了关键作用,它负责处理HTTP请求,实现了模型-视图-控制器...

    常用游戏方法汇总附详细教学

    使用面向对象编程可以更好地组织游戏代码。创建游戏对象类,包含属性(如位置、速度等)和方法(如移动、碰撞检测等),可以提高代码可读性和可维护性。 7. **碰撞检测** 游戏中物体间的碰撞检测是必不可少的。有...

Global site tag (gtag.js) - Google Analytics