借助HTML5 Canvas來(lái)繪制三角形和矩形等多邊形的方法
CodePlayer 發(fā)布時(shí)間:2016-03-14 11:26:52 作者:佚名
我要評(píng)論

這篇文章主要介紹了借助HTML5 Canvas來(lái)繪制三角形和矩形等多邊形的方法,通過(guò)文章開頭給的一些屬性及下面三角形和矩形的例子,同理便可得出其他多邊形的畫法,需要的朋友可以參考下
使用HTML5 Canvas繪制多邊形所需的CanvasRenderingContext2D對(duì)象的主要屬性和方法(有「()」者為方法)如下:
屬性或方法 | 基本描述 |
---|---|
strokeStyle | 用于設(shè)置畫筆繪制路徑的顏色、漸變和模式。該屬性的值可以是一個(gè)表示css顏色值的字符串。如果你的繪制需求比較復(fù)雜,該屬性的值還可以是一個(gè)CanvasGradient 對(duì)象或者CanvasPattern 對(duì)象 |
globalAlpha | 定義繪制內(nèi)容的透明度,取值在0.0(完全透明)和1.0(完全不透明)之間,默認(rèn)值為1.0。 |
lineWidth | 定義繪制線條的寬度。默認(rèn)值是1.0,并且這個(gè)屬性必須大于0.0。較寬的線條在路徑上居中,每邊各有線條寬的一半。 |
lineCap | 指定線條兩端的線帽如何繪制。合法的值是 butt、round和square。默認(rèn)值是"butt"。 |
beginPath() | 開始一個(gè)新的繪制路徑。每次繪制新的路徑之前記得調(diào)用該方法。 |
moveTo(int x, int y) | 定義一個(gè)新的繪制路徑的起點(diǎn)坐標(biāo) |
lineTo(int x, int y) | 定義一個(gè)繪制路徑的中間點(diǎn)坐標(biāo) |
stroke(int x, int y) | 沿著繪制路徑的坐標(biāo)點(diǎn)順序繪制直線 |
closePath() | 如果當(dāng)前的繪制路徑是打開的,則閉合該繪制路徑。 |
繪制三角形
JavaScript Code復(fù)制內(nèi)容到剪貼板
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>HTML5 Canvas繪制三角形入門示例</title>
- </head>
- <body>
- <!-- 添加canvas標(biāo)簽,并加上紅色邊框以便于在頁(yè)面上查看 -->
- <canvas id="myCanvas" width="400px" height="300px" style="border: 1px solid red;">
- 您的瀏覽器不支持canvas標(biāo)簽。
- </canvas>
- <script type="text/javascript">
- //獲取Canvas對(duì)象(畫布)
- var canvas = document.getElementById("myCanvas");
- //簡(jiǎn)單地檢測(cè)當(dāng)前瀏覽器是否支持Canvas對(duì)象,以免在一些不支持html5的瀏覽器中提示語(yǔ)法錯(cuò)誤
- if(canvas.getContext){
- //獲取對(duì)應(yīng)的CanvasRenderingContext2D對(duì)象(畫筆)
- var ctx = canvas.getContext("2d");
- //開始一個(gè)新的繪制路徑
- ctx.beginPath();
- //設(shè)置線條顏色為藍(lán)色
- ctx.strokeStyle = "blue";
- //設(shè)置路徑起點(diǎn)坐標(biāo)
- ctx.moveTo(20, 50);
- //繪制直線線段到坐標(biāo)點(diǎn)(60, 50)
- ctx.lineTo(20, 100);
- //繪制直線線段到坐標(biāo)點(diǎn)(60, 90)
- ctx.lineTo(70, 100);
- //先關(guān)閉繪制路徑。注意,此時(shí)將會(huì)使用直線連接當(dāng)前端點(diǎn)和起始端點(diǎn)。
- ctx.closePath();
- //最后,按照繪制路徑畫出直線
- ctx.stroke();
- }
- </script>
- </body>
- </html>
對(duì)應(yīng)的顯示效果如下:
繪制矩形
之所以將Canvas繪制矩形單獨(dú)提出來(lái),是因?yàn)镃anvas的畫筆工具——CanvasRenderingContext2D對(duì)象為繪制矩形提供了專用的方法。
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>HTML5 Canvas繪制矩形入門示例</title>
- </head>
- <body>
- <!-- 添加canvas標(biāo)簽,并加上紅色邊框以便于在頁(yè)面上查看 -->
- <canvas id="myCanvas" width="400px" height="300px" style="border: 1px solid red;">
- 您的瀏覽器不支持canvas標(biāo)簽。
- </canvas>
- <script type="text/javascript">
- //獲取Canvas對(duì)象(畫布)
- var canvas = document.getElementById("myCanvas");
- //簡(jiǎn)單地檢測(cè)當(dāng)前瀏覽器是否支持Canvas對(duì)象,以免在一些不支持html5的瀏覽器中提示語(yǔ)法錯(cuò)誤
- if(canvas.getContext){
- //獲取對(duì)應(yīng)的CanvasRenderingContext2D對(duì)象(畫筆)
- var ctx = canvas.getContext("2d");
- //開始一個(gè)新的繪制路徑
- ctx.beginPath();
- //設(shè)置線條顏色為藍(lán)色
- ctx.strokeStyle = "blue";
- //以canvas中的坐標(biāo)點(diǎn)(10,10)作為繪制起始點(diǎn),繪制一個(gè)寬度為80px、高度為50px的矩形
- ctx.rect(10, 10, 80, 50);
- //按照指定的路徑繪制直線
- ctx.stroke();
- //關(guān)閉繪制路徑
- ctx.closePath();
- }
- </script>
- </body>
- </html>
對(duì)應(yīng)的矩形效果顯示如下:
相關(guān)文章
- 這篇文章主要介紹了詳解canvas多邊形(蜘蛛圖)的畫法示例的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-29