借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
程序员文章站
2023-12-01 12:10:40
这篇文章主要介绍了借助HTML5 Canvas来绘制三角形和矩形等多边形的方法,通过文章开头给的一些属性及下面三角形和矩形的例子,同理便可得出其他多边形的画法,需要的朋友可以参考下... 16-03-14...
使用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() | 如果当前的绘制路径是打开的,则闭合该绘制路径。 |
绘制三角形
javascript code复制内容到剪贴板
- <!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对象为绘制矩形提供了专用的方法。
xml/html code复制内容到剪贴板
- <!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>
对应的矩形效果显示如下: