`
xiaopo123
  • 浏览: 9519 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

HTML 5 Canvas:canvas 元素用于在网页上绘制图形

 
阅读更多

 

 

原文链接: http://bang.chinabyte.com/thread-416698-1-1.html

 

什么是 Canvas?
HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。
画布是一个矩形区域,您可以控制其每一像素。
canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
创建 Canvas 元素
向 HTML5 页面添加 canvas 元素。
规定元素的 id、宽度和高度:

<canvas id="myCanvas" width="200" height="100"></canvas>

通过 JavaScript 来绘制
canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成:

<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);
</script>

JavaScript 使用 id 来寻找 canvas 元素:

var c=document.getElementById("myCanvas");

然后,创建 context 对象:

var cxt=c.getContext("2d"); 

getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
下面的两行代码绘制一个红色的矩形:

cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);

fillStyle 方法将其染成红色,fillRect 方法规定了形状、位置和尺寸。
理解坐标
上面的 fillRect 方法拥有参数 (0,0,150,75)。
意思是:在画布上绘制 150x75 的矩形,从左上角开始 (0,0)。
如下图所示,画布的 X 和 Y 坐标用于在画布上对绘画进行定位。

更多 Canvas 实例
下面的在 canvas 元素上进行绘画的更多实例:
实例 - 线条
通过指定从何处开始,在何处结束,来绘制一条线:

JavaScript 代码:


<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.moveTo(10,10);
cxt.lineTo(150,50);
cxt.lineTo(10,50);
cxt.stroke();
</script>
canvas 元素:

 

 

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">

Your browser does not support the canvas element.

</canvas>

 

 

实例 - 圆形
通过规定尺寸、颜色和位置,来绘制一个圆:

JavaScript 代码:


<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.beginPath();
cxt.arc(70,18,15,0,Math.PI*2,true);
cxt.closePath();
cxt.fill();
</script>

canvas 元素:

 

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">

Your browser does not support the canvas element.
</canvas>

实例 - 渐变
使用您指定的颜色来绘制渐变背景:


JavaScript 代码:


<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
var grd=cxt.createLinearGradient(0,0,175,50);
grd.addColorStop(0,"#FF0000");
grd.addColorStop(1,"#00FF00");
cxt.fillStyle=grd;
cxt.fillRect(0,0,175,50);
</script>


canvas 元素:

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">

Your browser does not support the canvas element.
</canvas>

实例 - 图像
把一幅图像放置到画布上:


JavaScript 代码:


<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
var img=new Image()
img.src="flower.png"
cxt.drawImage(img,0,0);
</script>

canvas 元素:

 

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">

Your browser does not support the canvas element.

</canvas>

分享到:
评论

相关推荐

    HTML5 Canvas核心技术—图形、动画与游戏开发一书源代码

    HTML5 Canvas是Web开发中的一个关键技术,它提供了一个在网页上绘制图形的API,使得开发者可以直接在浏览器中创建丰富的交互式2D图形、动画以及游戏。"HTML5 Canvas核心技术—图形、动画与游戏开发"这本书深入浅出地...

    html5 canvas绘制七巧板图形代码

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制。七巧板是一种古老的益智玩具,由七个不同形状的板组成,可以拼出各种图案。在HTML5 Canvas上绘制七巧板图形,可以结合数学、编程和...

    html5 canvas绘制几何图形动画特效

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的视觉效果。这个技术尤其适合创建几何图形动画特效,给用户带来互动且引人入胜的体验。以下是对HTML5 Canvas绘制几何...

    vue+canvas绘制图形

    Vue.js提供了一个强大的组件化系统,使得代码组织清晰,易于维护,而Canvas则是HTML5的一个重要特性,用于在网页上进行像素级的图形操作。 首先,我们来看"vue+canvas绘制图形"这个主题。Vue组件是Vue.js的核心特性...

    HTML5 canvas绘制流程图

    HTML5的canvas元素是网页开发中的一个强大工具,它提供了在网页上动态绘制图形的能力,类似于画布。在这个场景中,我们关注的是如何利用canvas来创建一个流程图,一种用于表示程序逻辑或工作流程的图表。流程图通常...

    html2canvas(兼容截图svg元素)

    `canvg`是一个专门用来在Canvas上渲染SVG的库,它能够解析SVG文档并将其绘制到Canvas元素上。当`html2canvas`遇到SVG元素时,通过先用`canvg`将SVG渲染到Canvas,然后再让`html2canvas`处理,可以有效地解决SVG截图...

    HTML5 Canvas核心技术—图形、动画与游戏开发【扫描版PDF(71M)+试读章节+源码】

    HTML5 Canvas是现代Web开发中的一个关键特性,它允许开发者在网页上绘制矢量图形、动态图像和创建复杂的动画。本书“HTML5 Canvas核心技术—图形、动画与游戏开发”深入探讨了这一技术的核心概念和实践应用,对于想...

    html5canvas播放视频

    HTML5 Canvas 是一个强大的网页图形绘制工具,允许开发者在网页上动态绘制图像,而无需依赖任何插件。在这个场景中,我们关注的是如何利用Canvas来播放视频。这涉及到HTML5的Media API和Canvas API的结合使用,使得...

    html5结构图canvas绘制组织结构图框架代码

    HTML5是现代网页开发的重要标准,它引入了许多新特性,其中Canvas元素是用于在网页上进行动态图形绘制的。Canvas通过JavaScript API提供了丰富的图形绘制功能,使得开发者无需依赖Flash或其他插件就能创建复杂的2D...

    div悬浮在canvas上

    在HTML5中,Canvas元素提供了一种在网页上绘制图形的强大方式,而div元素则常用于构建页面布局和内容容器。当我们需要在一个canvas元素上实现一个div元素的悬浮效果时,这涉及到对CSS样式和HTML结构的深入理解。本文...

    html5 canvas自定义绘制多边图形代码

    首先,我们需要在HTML中创建一个canvas元素,并通过JavaScript获取到这个元素的2D渲染上下文,这是所有绘图操作的基础: ```html &lt;!DOCTYPE html&gt; &lt;html lang="zh"&gt; &lt;title&gt;HTML5 Canvas 多边形绘制 &lt;canvas...

    Foundation HTML5 Canvas For Games and Entertainment

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,为游戏和娱乐应用提供了丰富的可能性。这本书"Foundation HTML5 Canvas For Games and Entertainment"深入浅出地探讨了如何利用...

    解决htmlcanvas手机无法截图或者截图不全的问题

    HTMLCanvas元素是HTML5引入的一个强大特性,它允许我们在网页上进行动态图形绘制,而html2canvas库则是基于这个特性实现的一个JavaScript库,用于将HTML元素转换为Canvas图像,进而可以将其导出为图片,例如JPEG、...

    HTML5 Canvas : Native Interactivity and Animation for the Web (英文原版pdf)

    HTML5 Canvas 标签是HTML5新增的一个重要特性,它为网页提供了渲染图形的能力,通过这个标签,开发者可以直接在浏览器中绘制图形,从而实现更丰富的视觉效果和互动体验。与Flash等插件技术不同,Canvas是基于标准的...

    html5,canvas扇形菜单

    在HTML5中,`&lt;canvas&gt;`元素是一个矩形区域,用于通过JavaScript绘制图形。开发者可以通过调用canvas对象上的方法,如`fillRect()`, `strokeRect()`, `beginPath()`, `arc()`, `lineTo()`, `moveTo()`等,来绘制线条...

    HTML5 Canvas矩阵粒子波浪背景动画特效

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的视觉体验。在这个“HTML5 Canvas矩阵粒子波浪背景动画特效”中,我们将深入探讨Canvas的基本用法、矩阵粒子系统以及...

    Html5_Canvas绘制动态心电图

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的交互式用户体验。在这个“Html5_Canvas绘制动态心电图”的项目中,我们将探讨如何利用Canvas API来模拟医院中常见的...

    HTML5 Canvas核心技术代码

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的交互式用户体验。Canvas API提供了大量的方法和属性,使得JavaScript可以直接控制像素级别的图像操作。这个压缩包...

    html5 canvas 制作流程图 EaselJS

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上直接绘制图形,从而创建出丰富的交互式用户体验。EaselJS是基于HTML5 Canvas的一个JavaScript库,它为Canvas提供了一个更加高级、易于使用的API,使得...

Global site tag (gtag.js) - Google Analytics