canvas元素基础
canvas元素是HTML5中新增的一个重要元素,专门用来绘制图形。在页面上放置一个canvas元素,就相当于在页面上放置了一块“画布”,可以在其中进行图形的描绘。canvas元素只是一块无色透明的区域。需要利用JavaScript编写在其中进行绘画的脚本。
在页面中放置canvas元素
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title>canvas元素示例</title> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="canvas.js"></script> </head> <body> <h1>canvas元素示例</h1> <canvas id="draw" width="400" height="400"></canvas> </body> </html>
绘制矩形
用canvas元素绘制图形需要经过的步骤如下:
- 取得canvas元素;
- 取得上下文(context):进行图形绘制时需要用到图形上下文(graphics context),图形上下文中是一个封装了很多绘图功能的对象。需要使用canvas对象的getContext()方法来获得图形上下文,并将参数设置为"2d";
- 填充与绘制边框:填充是指填满图形内部、绘制边框是指不填满图形内部,只绘制图形的外框。canvas元素结合使用这两种方式来绘制图形;
- 设定绘制图样式(style):在进行图形绘制时,首先要设定好绘图的样式,然后调用有关方法进行图形的绘制。所谓绘图的样式,主要是针对图形的颜色而言的,但是并不限于图形的颜色,例如:设定填充图形的样式使用fillStyle属性、设定图形边框的样式使用strokeStyle属性;
- 指定线宽:使用图形上下文对象的lineWidth属性设置图形边框的宽度。在绘制图形的时候,任何直线都可以通过lineWidth属性来指定宽度;
- 指定颜色值:绘图时填充颜色或边框的颜色分别通过fillStyle属性和strokeStyle属性来指定。颜色值使用的是普通样式表中使用的颜色值(包括颜色名称、颜色十六进制值),另外也可以通过rgb()或rgba()函数来指定颜色值;
- 绘制图形:分别使用fillRect()方法和strokeRect()方法来填充矩形和绘制矩形边框。
context.fillRect(x, y, width, height); context.strokeRect(x, y, width, height); context.clearRect(x, y, width, height);
这里的context指的是图形上下文对象,最后一个clearRect()方法将擦除指定的矩形区域中的图形,使得矩形区域中的颜色全部变为透明。
为了使用方便,将上述方法及属性封装进自定义的Canvas对象,该对象定义如下:
function Canvas(id) { this.id = id; this.canvas = document.getElementById(id); this.context = this.canvas.getContext('2d'); } Canvas.prototype.fillStyle = function(style) { this.context.fillStyle = style; return this; }; Canvas.prototype.strokeStyle = function(style) { this.context.strokeStyle = style; return this; }; Canvas.prototype.lineWidth = function(width) { this.context.lineWidth = width; return this; }; Canvas.prototype.fillRect = function(x, y, width, height) { this.context.fillRect(x, y, width, height); return this; }; Canvas.prototype.strokeRect = function(x, y, width, height) { this.context.strokeRect(x, y, width, height); return this; }; Canvas.prototype.clearRect = function(x, y, width, height) { this.context.clearRect(x, y, width, height); return this; };
使用该自定义对象绘制图形示例如下:
$(function() { var canvas = new Canvas($("canvas").attr("id")); canvas.fillStyle("#EEEEFF").fillRect(0, 0, 400, 400).fillStyle("red").strokeStyle("blue").lineWidth(1).fillRect(50, 50, 100, 100).strokeRect(50, 50, 100, 100); });
发表评论
-
使用选择器在页面中插入内容
2011-11-08 10:09 0使用选择器来插入文字 使用选择器来插入内容 在CSS2中, ... -
HTML5 绘制图形【4】
2011-11-08 08:39 1668绘制变形图形 坐标变换 绘制图形的时候,我们可能会想要旋转 ... -
CSS3 选择器【2】
2011-11-07 14:30 1046UI元素状态伪类选择器 UI元素状态伪类选择器的共同特征是: ... -
HTML5 绘制图形【3】
2011-11-05 19:28 1280绘制渐变图形 渐变是指在填充时从一种颜色慢慢过渡到另外一种颜 ... -
CSS3 选择器【1】
2011-11-06 12:19 1668选择器概述 选择器是CS ... -
HTML5 绘制图形【2】
2011-11-04 11:42 1368使用路径 绘制圆形 要 ... -
CSS3 模块化结构
2011-11-03 19:12 1459CSS3中的模块 模块名称 功能描述 Basi ... -
HTML5 获取地理位置信息
2011-11-01 18:12 5400Geolocation API的基本知识 在HTML5中,为 ... -
HTML5 使用Web Worker处理线程
2011-11-01 09:16 4600基础知识 Web Worker是在HTML5中新增的,用来在 ... -
HTML5 Web Sockets通信
2011-10-29 20:15 4045基础介绍 Web Sockets是HTML5提供的在Web应 ... -
HTML5 跨文档消息传输
2011-10-29 19:11 1970基本介绍 HTML5提供了在网页文档之间互相接收与发送信息的 ... -
HTML5 离线应用程序【2】
2011-10-27 20:48 1811applicationCache对象 application ... -
HTML5 离线应用程序【1】
2011-10-27 14:02 1513离线Web应用程序介绍 在HTML5中新增了一个API,为离 ... -
HTML5 本地数据库
2011-10-24 21:03 2551本地数据库的基本概念 ... -
HTML5 Web Storage
2011-10-24 15:51 1561Web Storage简单使用 在HTML5中重新提供了一种 ... -
HTML5 多媒体播放【3】
2011-10-23 10:45 1209video元素和audio元素的方法 play()方法:使 ... -
HTML5 多媒体播放【2】
2011-10-22 21:14 1714音频和视频元素的属性 这两种元素所具有的属性大致相同,介绍如 ... -
HTML5 多媒体播放【1】
2011-10-21 18:58 892video与audio元素基础 在HTML5中,video元 ... -
HTML5 拖放API
2011-10-17 19:43 4931在HTML5中,已经支持在浏览器与其他应用程序之间的数据互相拖 ... -
HTML5 文件API
2011-10-16 18:49 4962在HTML5中,提供了一个关于文件操作的文件API,通过使用这 ...
相关推荐
html5 canvas绘制七巧板图形代码 html5 canvas绘制七巧板图形代码
html5 canvas涂鸦画板绘制图形效果
html5 canvas绘制几何图形动画特效 html5 canvas绘制几何图形动画特效 html5 canvas绘制几何图形动画特效
HTML5 canvas自由绘制图形工具,可拖拽的自由绘图画板。 ·
应用html5画布功能以及脚本语言js在网页上绘制图表并标注
根据用户数据表格html5绘制饼状图形代码 根据用户数据表格html5绘制饼状图形代码 根据用户数据表格html5绘制饼状图形代码
html5 canvas自定义绘制多边图形代码 html5 canvas自定义绘制多边图形代码
html5绘图效果简单绘制图形线条类似百度贴吧涂鸦效果
html5 canvas实现的绘图工具自由绘制图形画板源码.zip
html5 canvas实现的绘图工具自由绘制图形画板源码 有很多功能
HTML5绘制变形图形2.pdf 学习资料 复习资料 教学资源
HTML5绘制变形图形3.pdf 学习资料 复习资料 教学资源
HTML5绘制变形图形2案例.pdf 学习资料 复习资料 教学资源
Html5绘制小型太阳系模型
这是一款基于html5绘制的用户数据表格与饼状图形效果源码,左侧展示用户的数据表格,右侧展示对应的饼状图,该表格图形完全采用HTML5绘制,没有采用任何外部图形元素,是一款非常经典的HTML5图表效果源码。...
HTML5 canvas自由绘制图形工具,可拖拽的自由绘图画板。
XCalc是一款基于HTML5的数学函数图形绘制插件,这款函数图形绘制插件不仅可以绘制简单的加减乘除运算的函数图形,也可以绘制乘方运算和正弦余弦运算的函数图形。XCalc的配置也非常简单,在HTML5图表中应用十分广泛。
实现流程图绘制、拓扑图等自定义绘制功能,具有丰富的的图形选择。
html5 canvas绘制几何图形3d动画特效源码.zip