HTML5中的canvas元素用于,html5中canvas作用

http://www.itjxue.com  2023-01-07 05:21  来源:未知  点击次数: 

html5 canvas怎么画

什么是 Canvas?

HTML5 canvas 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成.

canvas 标签只是图形容器,您必须使用脚本来绘制图形。

你可以通过多种方法使用Canva绘制路径,盒、圆、字符以及添加图像。

创建一个画布(Canvas)

一个画布在网页中是一个矩形框,通过 canvas 元素来绘制.

注意: 默认情况下 canvas 元素没有边框和内容。

canvas简单实例如下:

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

注意: 标签通常需要指定一个id属性 (脚本中经常引用), width 和 height 属性定义的画布的大小.

提示:你可以在HTML页面中使用多个 canvas 元素.

使用 style 属性来添加边框:

实例

canvas id="myCanvas" width="200" height="100"

style="border:1px solid #000000;"

/canvas

使用 JavaScript 来绘制图像

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

实例

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

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

ctx.fillStyle="#FF0000";

ctx.fillRect(0,0,150,75);

例解析:

首先,找到 canvas 元素:

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

然后,创建 context 对象:

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

getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

下面的两行代码绘制一个红色的矩形:

ctx.fillStyle="#FF0000";

ctx.fillRect(0,0,150,75);

设置fillStyle属性可以是CSS颜色,渐变,或图案。fillStyle 默认设置是#000000(黑色)。

fillRect(x,y,width,height) 方法定义了矩形当前的填充方式。

Canvas 坐标

canvas 是一个二维网格。

canvas 的左上角坐标为 (0,0)

上面的 fillRect 方法拥有参数 (0,0,150,75)。

意思是:在画布上绘制 150x75 的矩形,从左上角开始 (0,0)。

坐标实例

如下图所示,画布的 X 和 Y 坐标用于在画布上对绘画进行定位。鼠标移动的矩形框上,显示定位坐标。

X

Y

Canvas - 路径

在Canvas上画线,我们将使用以下两种方法:

moveTo(x,y) 定义线条开始坐标

lineTo(x,y) 定义线条结束坐标

绘制线条我们必须使用到 "ink" 的方法,就像stroke().

实例

定义开始坐标(0,0), 和结束坐标 (200,100)。然后使用 stroke() 方法来绘制线条:

JavaScript:

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

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

ctx.moveTo(0,0);

ctx.lineTo(200,100);

ctx.stroke();

尝试一下 ?

在canvas中绘制圆形, 我们将使用以下方法:

arc(x,y,r,start,stop)

实际上我们在绘制圆形时使用了 "ink" 的方法, 比如 stroke() 或者 fill().

实例

使用 arc() 方法 绘制一个圆:

JavaScript:

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

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

ctx.beginPath();

ctx.arc(95,50,40,0,2*Math.PI);

ctx.stroke();

HTML5 - Canvas

HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。

在使用 canvas 绘制图像时,canvas 画布左上角的坐标为(0, 0)

注意:canvas 画布大小不可通过 css 来改变,只能通过属性方式设置,否则可能出现失帧的情况(当使用 css 方式改变 canvas 画布大小时,只是 cavas 标签的大小改变了,正真的绘图区域大小并没有改变,所以出现了失帧的情况)。

示例:

示例:

示例:

示例:

示例:

示例:

示例:

1)参数说明:

参数 x:矩形左上角的 x 坐标。

参数 y:矩形左上角的 y 坐标。

参数 width:矩形的宽度,以像素计。

参数 height:矩形的高度,以像素计。

2) 注意事项:

context.rect(x, y, width, height); 只是创建了矩形,并没有绘制出来。因此,创建完成后需使用 context.stroke(); 来绘制。

3)示例:

1)参数说明:

参数 x:矩形左上角的 x 坐标。

参数 y:矩形左上角的 y 坐标。

参数 width:矩形的宽度,以像素计。

参数 height:矩形的高度,以像素计。

2)默认的填充颜色是黑色。可以使用 fillStyle 属性来设置用于填充绘图的颜色、渐变或模式。

3)示例:

1)参数说明:

参数 x:矩形左上角的 x 坐标。

参数 y:矩形左上角的 y 坐标。

参数 width:矩形的宽度,以像素计。

参数 height:矩形的高度,以像素计。

2)笔触的默认颜色是黑色。

3)可以使用 strokeStyle 属性来设置笔触的颜色、渐变或模式。

4)示例:

1)参数说明:

参数 x:要清除的矩形左上角的 x 坐标。

参数 y:要清除的矩形左上角的 y 坐标。

参数 width:要清除的矩形的宽度,以像素计。

参数 height:要清除的矩形的高度,以像素计。

小技巧:

当 x = 0,y = 0,width = canvas.width,height = canvas.height 时,则可以清除画布上的矩形

2)示例:

1)参数说明:

参数 x:圆中心的 x 坐标。

参数 y:圆中心的 y 坐标。

参数 r:圆的半径。

参数 sAngle:起始角弧度(圆的三点钟位置是0度)。

参数 eAngle:结束角弧度(圆的三点钟位置是0度)。

参数 counterclockwise:规定逆时针还是顺时针绘图。f'alse = 顺时针,true = 逆时针。

2) 角度和弧度的关系:角度/弧度 = 180/pi

3)创建完圆弧后需使用 context.stroke(); 绘制创建的圆弧。

4)示例:绘制一个圆

5)示例:绘制圆上任意一点

圆上任意一点坐标:x = ox + r*cos(弧度),y = oy + r*cos(弧度)

ox:圆心的 x 坐标。

oy:圆心的 y 坐标。

r:圆的半径。

2)设置字体水平对齐方式

2)设置字体垂直对齐方式

textBaseline 属性在不同的浏览器上效果不同,特别是使用 "hanging" 或 "ideographic" 时。

3)设置文字阴影效果

1)参数说明:

参数 text:文本内容

参数 x:开始绘制文本的 x 坐标位置(相对于画布)。

参数 y:开始绘制文本的 y 坐标位置(相对于画布)。

2)默认的填充颜色是黑色。可以使用 fillStyle 属性来设置用于填充绘图的颜色、渐变或模式。

3)示例:

1)参数说明:

参数 text:文本内容

参数 x:开始绘制文本的 x 坐标位置(相对于画布)。

参数 y:开始绘制文本的 y 坐标位置(相对于画布)。

2)默认的笔触颜色是黑色。可以使用 strokeStyle 属性来设置笔触的颜色、渐变或模式。

3)示例:

1)参数说明:

参数 img:规定要使用的图像。

参数 x:在画布上放置图像的 x 坐标位置。

参数 y:在画布上放置图像的 y 坐标位置。

2)当图像的大小超出画布的大小时,超出的部分将不会被显示出来。

3)示例:

1)参数说明:

参数 img:规定要使用的图像。

参数 x:在画布上放置图像的 x 坐标位置。

参数 y:在画布上放置图像的 y 坐标位置。

参数 width:要使用的图像的宽度(伸展或缩小图像)。

参数 height:要使用的图像的高度(伸展或缩小图像)。

2)因保持 width/height = img.width/img.height,否则绘制后的图片会失帧。

3)示例:

1)参数说明:

参数 img:规定要使用的图像。

参数 sx:从图像的 sx 坐标位置开始剪切。

参数 sy:从图像的 sy 坐标位置开始剪切。

参数 swidth:剪切的宽度。

参数 sheight:剪切的高度。

参数 x:在画布上放置图像的 x 坐标位置。

参数 y:在画布上放置图像的 y 坐标位置。

参数 width:要使用的图像的宽度(伸展或缩小图像)。

参数 height:要使用的图像的高度(伸展或缩小图像)。

2)因保持 width/height = swidth/sheight,否则绘制后的图片会失帧。

3)示例:

stop:介于 0.0 与 1.0 之间的值,表示渐变中开始(0.0)与结束(1.0)之间的位置。

color:颜色。

示例:

html5 canvas绘图有什么用

canvas能做什么?

canvas是HTML5中的新元素,你可以使用javascript用它来绘制图形、图标、以及其它任何视觉性图像。它也可用于创建图片特效和动画。如果你掌握了完整的命令,你可以用canvas创建丰富的web应用程序。如果你想很好的使用canvas,你首先应该很好的掌握javascript。

这篇文章是一篇基础教程,你能了解一些设计方法。比如用HTML5 canvas 进行图形设计。

用HTML5 canvas设计

设计和开发一个web页面会包含很多的内容,用户首先需要有一个支持HTML canvas的浏览器。

首先创建一个HTML5文档页面,设置document type是HTMl5的;

其次在页面body区域添加一个canvas标签:

canvas/canvas

第三、给这个canvas定义一个id属性,这样方便我们在js中调用它。添加一个宽和高属性,在canvas标签中添加一个当浏览器不支持的时候显示给用户的内容。下面是列子代码:

canvas id="canvastest" width="500" height="600"

p你的浏览器不支持HTML5 canvas,请更新您的浏览器!/p

/canvas

现在我们创建了一个包含HTML5 canvas 元素的空白画布,我们将使用js和canvas元素的方法来创建我们的图像。

添加一个javascript用HTMl5 canvas的方法:

var canvasTest=document.getElementById('canvastest');//获取canvas元素;

var testcontext=canvasTest.getContext('2d');

使用javascript来创建你的画布,你可以使用矩形、圆圈和三角形,并使用线、幻灯片和渐变来创建你的设计。

下面是完成的代码:

var canvasTest=document.getElementById('canvastest');

var testcontext=canvasTest.getContext('2d');

// create rectangle

testcontext.fillStyle='rgb(0,125,125)';

testcontext.fillRect(10,10,250,180);

// create circle

testcontext.beginPath();

testcontext.arc(300, 340, 100, 0, Math.PI * 2, true);

testcontext.closePath();

testcontext.fillStyle='rgb(75,10,125)';

testcontext.fill();

testcontext.stroke();

我们可以将上面的代码加入window.onload,或者jQuery的ready方法里,当文档加载完,将会创建文明的图形。

一些HTML5 canvas 图像解决方案

用与HTML5 Canvas元素你可以开发动态绘图对象比如如可视化信息或数据图。HTML5 canvas 可以在javascript的帮助下很容易的绘制二维图形。让我们来看一下HTML5 canvas元素的一些数据图应用。

1. HumbleFinance

HumbleFinance是用js开发的一个开源的数据可视化图表,它用HTML5 canvas生成可视化图表数据,它可以用一个轴来展示任何两个二维的数据集。

地址:

2.Graphr

Graphr是一个用HTML5 canvas写的一个计算器应用,有每个图像计算器应有的基本功能。

地址:

3.用HTML5和jQuery创建的华丽的动画饼图

你可以用javascript和HTML5来创建一个交互式饼图,有华丽的动画效果。这在之前只能用flash来完成,现在也可以使用最新的HTML5技术了。

地址:

4. AwesomeJS

AwesomeJS 能够让你创建简单有用的图表,而仅需几行代码即可。这是一个基于HTML5和canvas的javascript库。

地址:

5.Ticker Plot(股票图)

Ticker Plot(股票图)是每一个在工作是使用图标的web开发人员都必备的一个图表工具。这是一个开源的项目,它使用HTML5 canvas在画布上绘制图形符号和鼠标事件。Ticker Plot(股票图)是专门为股票行情和技术分析设计的。

html5 canvas 元素有什么用

这个主要用来做游戏动画,现在的h5游戏,基本是用canvas开发出来的。可以代替原来的flash做的动画效果

3,html5 canvas 元素有什么用

html5 canvas 元素的作用就是描绘出图形,比如画圆,扇形,折线图等,有了这个,这些功能都是很好实现的。

(责任编辑:IT教学网)

更多

推荐网络工程师文章