您好,登录后才能下订单哦!
本篇内容介绍了“前端HTLM的canvas如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
HTML5 <canvas> 标签用于绘制图像(通过脚本,通常是 JavaScript)。
不过,<canvas> 元素本身并没有绘制能力(它仅仅是图形的容器) - 您必须使用脚本来完成实际的绘图任务。
getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性。
一般写法:<canvas id="tutorial"width="150"height="150"></canvas>
(1)getContext()
getContext()用来获得渲染上下文和它的绘画功能,只有一个参数,目前只支持2d,即:
var canvas = document.getElementById('tutorial');
var ctx = canvas.getContext('2d');
getContext()可以用来检测当前浏览器是不是支持canvas,如果不支持可以用指定文本替代:
var canvas = document.getElementById('tutorial');
if (canvas.getContext){
var ctx = canvas.getContext('2d');// 支持
} else {
// 不支持,可以写相关提示文字
}
案例:
<script type="text/javascript">
function draw(){
var canvas = document.getElementById('tutorial');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
}
}
</script>
<style type="text/css">
canvas { border: 1px solid black; }
</style>
<body onload="draw();">
<canvas id="tutorial" width="150" height="150"></canvas>
</body>
(2)绘制矩形
canvas提供了四种方法绘制矩形
rect(): 创建矩形,仅仅创建并未画出,仍需要fill或者stroke填充或者画出来!
fillRect(x, y, width, height) 绘制一个填充的矩形
strokeRect(x, y, width, height) 绘制一个矩形的边框
clearRect(x, y, width, height)清 除指定矩形区域,让清除部分完全透明。
例子:
function draw() {
var canvas = document.getElementById('canvas');
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
ctx.fillRect(25,25,100,100);//绘制一个100*100矩形,默认黑色
ctx.clearRect(45,45,60,60);//删除一个60*60的矩形
ctx.strokeRect(50,50,50,50);//绘制一个50*50的边框
}}
HTML 5 Canvas基础学习教程(1)
(3)绘制路径
路径绘制图形需要的步骤:
1、首先,你需要创建路径起始点。
2、然后你使用画图命令去画出路径。
3、之后你把路径封闭。
4、一旦路径生成,你就能通过描边或填充路径区域来渲染图形。
通过以下常用函数来画图:
beginPath()新建一条路径,生成之后,图形绘制命令被指向到路径上生成路径。
closePath()闭合路径之后图形绘制命令又重新指向到上下文中。
stroke()通过线条来绘制图形轮廓。
fill()通过填充路径的内容区域生成实心的图形。
moveTo(x,y)将笔触移动到指定的坐标x以及y上。
lineTo(x, y)绘制一条从当前位置到指定x以及y位置的直线。
arc(x, y, radius, startAngle, endAngle, anticlockwise)画一个以(x,y)为圆心的以radius为半径的圆弧(圆),从startAngle开始到endAngle结束,按照anticlockwise给定的方向(默认为顺时针)来生成。
arcTo(x1, y1, x2, y2, radius)根据给定的控制点和半径画一段圆弧,再以直线连接两个控制点。
注意:注意:arc()函数中的角度单位是弧度,不是度数。角度与弧度的js表达式:radians=(Math.PI/180)*degrees。
例子1:绘制一个三角形
function draw() {
var canvas = document.getElementById('canvas');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
ctx.beginPath();//新建路径
ctx.moveTo(75,50);//从75*20的位置开始
ctx.lineTo(100,75);//画到100*75
ctx.lineTo(100,25);//再画到100*25
ctx.fill();//填充颜色
}}
“前端HTLM的canvas如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。