HTML5画布Canvas线段、矩形、弧形及贝塞尔曲线等简单图形绘制

本文介绍了HTML5 Canvas的基本图形绘制,包括使用canvas标签创建画布、获取环境对象,以及如何绘制线段、矩形、弧形和贝塞尔曲线。讲解了stroke()、fill()、lineWidth、closePath()等关键函数,并展示了如何通过arc()和arcTo()方法画出圆形和圆角矩形。
摘要由CSDN通过智能技术生成

HTML5中最有意思的就是这个canvas了 
通过它我们可以画自己想要的图形 
它也是十分重要的技术 
应用于游戏、图表等等 
或者绘制各种酷炫的东西 
这里给大家分享一个网站 传送门 
里面都是canvas技术绘制的图形

画布创建

canvas是html的一个标签 
是一个图形容器 
首先要在html页面添加一个canvas元素

<canvas id="myCanvas" width=500 height=500></canvas>
  • 1
  • 1

为了后面我们的使用,我添加了id 
width与height定义了画布的大小 
不过要注意,这与css样式的width与height不同 
举个例子,如果我在css样式中添加这样的样式

#myCanvas {
    border: 1px solid black;
    width: 250px;
    height: 250px;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

定义border边框是为了让我们清楚画布的位置 
如果不设置css样式的width和height,那么画布大小就是我们在canvas标签上定义的宽500和高500 
但是这里我定义了样式宽高,所以我们的画布在网页中实际的大小相当于被缩小了1倍 
(canvas的最大画布坐标仍然是500×500)

html文档中我们要做的只是添加一个canvas标签 
下面我们需要使用脚本来绘制图形

获取元素与环境对象

获取元素我们都知道

var myCanvas = document.getElementById('myCanvas');
  • 1
  • 1

下面的代码用于获取上下文对象/环境对象

var ctx = myCanvas.getContext('2d');
  • 1
  • 1

getContext用于指定一个绘图环境 
这里我们使用最常用的二维绘图 
使用getContext(‘2d’) 
(getContext(‘webgl’)用于3D绘图) 
获取到的ctx是一个对象(CanvasRenderingContext2D对象) 
用以到处二位绘图API

再通俗的说,canvas元素对象是我们的“画布” 
而通过getContext(‘2d’)获取的环境对象就是我们的“画笔” 
下面我们所有的操作都需要是用“画笔”,也就是这个上下文对象(这里就是变量ctx)

线段绘制

下面我们就来绘制最简单的图形——线段 
现在网页上已经有了一个500×500的画布 
我们先来画一条斜线

ctx.moveTo(100, 100);
ctx.lineTo(400, 400);
ctx.stroke();
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

moveTo()用来指定绘制线段的起点 
lineTo()用来指定绘制线段的终点(或者是途经点) 
stroke()先不说,现在只要知道没有它画不出来 


了解了这些,我们现在可以画一个三角形 
只要添加两行代码

ctx.moveTo(100, 100);
ctx.lineTo(400, 400);
ctx.lineTo(100, 400); //增
ctx.lineTo(100, 100); //增
ctx.stroke();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值