视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
用HTML5Canvas来绘制三角形和矩形等多边形的方法
2020-11-27 15:05:19 责编:小采
文档
这篇文章主要介绍了借助HTML5 Canvas来绘制三角形和矩形等多边形的方法,通过文章开头给的一些属性及下面三角形和矩形的例子,同理便可得出其他多边形的画法,需要的朋友可以参考下

使用HTML5 Canvas绘制多边形所需的CanvasRenderingContext2D对象的主要属性和方法(有「()」者为方法)如下:

属性或方法基本描述
strokeStyle用于设置画笔绘制路径的颜色、渐变和模式。该属性的值可以是一个表示css颜色值的字符串。如果你的绘制需求比较复杂,该属性的值还可以是一个CanvasGradient对象或者CanvasPattern对象
globalAlpha定义绘制内容的透明度,取值在0.0(完全透明)和1.0(完全不透明)之间,默认值为1.0。
lineWidth定义绘制线条的宽度。默认值是1.0,并且这个属性必须大于0.0。较宽的线条在路径上居中,每边各有线条宽的一半。
lineCap指定线条两端的线帽如何绘制。合法的值是 butt、round和square。默认值是"butt"。
beginPath()开始一个新的绘制路径。每次绘制新的路径之前记得调用该方法。
moveTo(int x, int y)定义一个新的绘制路径的起点坐标
lineTo(int x, int y)定义一个绘制路径的中间点坐标
stroke(int x, int y)沿着绘制路径的坐标点顺序绘制直线
closePath()如果当前的绘制路径是打开的,则闭合该绘制路径。


绘制三角形

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>HTML5 Canvas绘制三角形入门示例</title> 
</head> 
<body> 
 
<!-- 添加canvas标签,并加上红色边框以便于在页面上查看 --> 
<canvas id="myCanvas" width="400px" height="300px" style="border: 1px solid red;"> 
您的浏览器不支持canvas标签。 
</canvas> 
 
 
<script type="text/javascript"> 
//获取Canvas对象(画布) 
var canvas = document.getElementById("myCanvas"); 
//简单地检测当前浏览器是否支持Canvas对象,以免在一些不支持html5的浏览器中提示语法错误 
if(canvas.getContext){ 
 //获取对应的CanvasRenderingContext2D对象(画笔) 
 var ctx = canvas.getContext("2d"); 
 
 //开始一个新的绘制路径 
 ctx.beginPath(); 
 //设置线条颜色为蓝色 
 ctx.strokeStyle = "blue"; 
 //设置路径起点坐标 
 ctx.moveTo(20, 50); 
 //绘制直线线段到坐标点(60, 50) 
 ctx.lineTo(20, 100); 
 //绘制直线线段到坐标点(60, 90) 
 ctx.lineTo(70, 100); 
 //先关闭绘制路径。注意,此时将会使用直线连接当前端点和起始端点。 
 ctx.closePath(); 
 //最后,按照绘制路径画出直线 
 ctx.stroke(); 
} 
</script> 
</body> 
</html>

对应的显示效果如下:

绘制矩形
之所以将Canvas绘制矩形单独提出来,是因为Canvas的画笔工具——CanvasRenderingContext2D对象为绘制矩形提供了专用的方法。

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>HTML5 Canvas绘制矩形入门示例</title> 
</head> 
<body> 
 
<!-- 添加canvas标签,并加上红色边框以便于在页面上查看 --> 
<canvas id="myCanvas" width="400px" height="300px" style="border: 1px solid red;"> 
您的浏览器不支持canvas标签。 
</canvas> 
 
<script type="text/javascript"> 
//获取Canvas对象(画布) 
var canvas = document.getElementById("myCanvas"); 
//简单地检测当前浏览器是否支持Canvas对象,以免在一些不支持html5的浏览器中提示语法错误 
if(canvas.getContext){ 
 //获取对应的CanvasRenderingContext2D对象(画笔) 
 var ctx = canvas.getContext("2d"); 
 
 //开始一个新的绘制路径 
 ctx.beginPath(); 
 //设置线条颜色为蓝色 
 ctx.strokeStyle = "blue"; 
 //以canvas中的坐标点(10,10)作为绘制起始点,绘制一个宽度为80px、高度为50px的矩形 
 ctx.rect(10, 10, 80, 50); 
 //按照指定的路径绘制直线 
 ctx.stroke(); 
 //关闭绘制路径 
 ctx.closePath(); 
} 
</script> 
</body> 
</html>

对应的矩形效果显示如下:

下载本文
显示全文
专题