HTML5 Canvas中绘制矩形实例

HTML5 Canvas中绘制矩形实例,第1张

让我们来看一下Canvas内置的简单几何图形

矩形的绘制。在Canvas中,绘制矩形有三种方法:填充(fillRect)、描边(StrokeRect)以及清除(clearRect)。当然,我们也可以使用“路径”来描绘包括矩形在内的所有图形。

以下是上述三种方法的API:

1.fillRect(x,y,width,height)。绘制一个从(x,y)开始,宽度为width,高度为height的实心矩形。

2.strokeRect(x,y,width,height)。绘制一个从(x,y)开始,宽度为width,高度为height的矩形框。该矩形框会根据当前设置的strokeStyle、lineWidth、lineJoin和miterLimit属性的不同而渲染成不同的样式。

3.clearRect(x,y,width,height)。清除从(x,y)开始,宽度为width,高度为height的矩形区域,使之完全透明。

在调用上述方法绘制Canvas之前,我们需要设定填充和描边的样式。设定这些样式最基本的方法是使用24位色(用16进制字符串表示)。以下是一个简单的例子:

代码如下:

context.fillStyle

=

"#000000"

context.strokeStyle

=

"#ff00ff"

在下面的例子中,填充色设定为黑色,而描边色则设定为紫色:

代码如下:

function

drawScreen()

{

context.fillStyle

=

"#000000"

context.strokeStyle

=

"#ff00ff"

context.lineWidth

=

2

context.fillRect(10,

10,

40,

40)

context.strokeRect(0,

0,

60,

60)

context.clearRect(20,

20,

20,

20)

}

代码执行结果如下图所示:

Cavas的英文解释是画布,使用这个Html5的Canvas标签可以创建画布,结合JavaScript可以画出很多图形,我们先以画一个蓝色矩形为例,说明一下这个标签的使用方法,

首先需要建立一个HTML5的网页,方法是:

进入DW后,选择:文件-->新建

在d出的对话框中选择文件类型为Html5

选择“创建”后,即会形成一个空白网页,选择“文件”--"保存“

起名为:juxing

这个名字可以依据自己的喜好起,但最好名字与网页内容相关,以后好找,另外一个需要注意的是,最好不用汉字。

我们将视图切换为”代码“视图

并将标题改为”画出矩形“

标题也可以依据自己的喜好进行设定,并不影响网页的运行。

Html是标记型语言,各种功能都需要在对应的标签里面才可以,所以我们首先需要添加标签。

我们只需输入<c,就会看到提示列表里出现我们所需要的标签canvas,按下回车键,即可完成输入。

之后,我们每一次按下空格、或输入相关字母,都会有提示列表,我们只需选择所需的项目,按下回车即可,并不需要完整输入字串,可以避免输入时的拼写错误。在本例中,只有引号内的”mycanvas“是需要完整输入的,其他部分的关键字都可以通过提示列表进行输入。

命令为:<canvas id="mycanvas" width="600" height="400"></canvas>

只有Canvas标记是不能直接画出图来的,需要配合JavaScript语言,首先需要写出对应的程序标记。

Html语言中的标记都是成对出现的,我们为了避免错误,可以先将标记的起始、标记的结束写好

写好前后标记后,我们就可以在标记中使用JavaScript语言,调用Canvas标记,画出我们所需要图形了,方法是:

var canvas=document.getElementById('mycavas')

将变量canvas,赋值为我们之前在html中定义的画布”mycanvas,以方便JavaScript调用

var ctxt=canvas.getContext('2d')

将变量 ctxt赋值为利用刚定义的“canvas”返回的二维绘图环境对象,使用这个对象就可以绘图了

使用fillStyle方法设置颜色,是十六进制表示的三原色分量范围是从“#000000”至“FFFFFF”

ctx.fillStyle='#0066cc'

我们将颜色设置为一种蓝色,这个颜色也可以随自己喜好 更改。

ctx.fillRect(50,50,400,200)

填充的起始位置设置为(50,50),矩形宽度为400,高度为200

选择在浏览器中浏览后,即可看到我们所需要的矩形

什么是 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()


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/6225937.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-18
下一篇2023-03-18

发表评论

登录后才能评论

评论列表(0条)

    保存