canvas 繪製矩形
矩形是最為簡單的圖案一直,canvas提供了多種繪製方式。
特別說明:canvas沒有內建繪製圓角矩形的方法,不過可以模擬實現。
本文不做介紹,具體參閱canvas 繪製圓角矩形一章節。
下面將通過程式碼例項介紹一下利用canvas如何繪製矩形圖案。
一.lineTo()方法繪製矩形:
此方式在canvas 繪製直線一章節中有所涉及。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> window.onload=function(){ let canvas = document.getElementById("canvas"); let ctx = canvas.getContext("2d"); ctx.moveTo(100, 100); ctx.lineTo(200, 100); ctx.lineTo(200, 200); ctx.lineTo(100, 200); ctx.lineTo(100, 100); //設定線條的寬度 ctx.lineWidth = 10; //設定線條的填充顏色和透明度 ctx.strokeStyle = 'rgba(255,0,0,0.5)'; ctx.closePath(); ctx.stroke(); } </script> </head> <body> <canvas id="canvas" width="400" height="300"></canvas> </body> </html>
程式碼執行效果截圖如下:
繪製矩形的原理很簡單,就是讓直線首尾相接。
然後通過lineWidth設定邊框的粗細,strokeStyle設定邊框的顏色。
二.strokeRect()方法繪製矩形:
此方法可以繪製一個非填充的矩形。
語法結構:
[JavaScript] 純文字檢視 複製程式碼ctx.strokeRect(10,10,100,100);
前兩個引數規定矩形左上角的座標,最後兩個引數規定矩形的寬高。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> window.onload=function(){ let canvas = document.getElementById("canvas"); let ctx = canvas.getContext("2d"); ctx.strokeRect(10,10,100,100); } </script> </head> <body> <canvas id="canvas"></canvas> </body> </html>
程式碼執行效果截圖如下:
程式碼分析如下:
(1).繪製無填充的矩形,也就是隻有邊框,沒有內部填充的矩形。
(2).沒有使用stroke()方法,因為strokeRect()方法直接繪製矩形,能夠自動開始並結束一條路徑。
三.fillRect()方法繪製矩形:
此方法可以繪製一個填充的矩形。
語法結構:
[JavaScript] 純文字檢視 複製程式碼ctx.fillRect(10,10,100,100);
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> window.onload=function(){ let canvas = document.getElementById("canvas"); let ctx = canvas.getContext("2d"); ctx.fillStyle="#ccc"; ctx.fillRect(10,10,100,100); } </script> </head> <body> <canvas id="canvas"></canvas> </body> </html>
程式碼執行效果截圖如下:
程式碼分析如下:
(1).繪製一個帶有填充的矩形。
(2).預設填充是純很色,不過可以通過fillStyle屬性修改。
(3).fillRect方法可以自動建立並結束一個路徑。
四.rect()方法繪製矩形:
此方法也可以繪製矩形,與上面方法不同的是,它不能夠自動繪製矩形並建立和結束路徑。
所以如果描邊,那麼就呼叫stroke方法,如果需要填充,需要使用fill方法。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> window.onload=function(){ let canvas = document.getElementById("canvas"); let ctx = canvas.getContext("2d"); ctx.rect(10, 10, 100, 100); ctx.fillStyle = "green"; ctx.fill(); ctx.stroke(); } </script> </head> <body> <canvas id="canvas"></canvas> </body> </html>
程式碼執行效果截圖如下:
上述程式碼繪製一個具有描邊與填充的矩形。
fillStyle可以設定填充,strokeStyle可以設定描邊。
相關文章
- canvas 繪製圓角矩形Canvas
- canvas繪製矩形框Canvas
- canvas 繪製矩形缺角Canvas
- canvas系列教程之繪製矩形Canvas
- canvas實現手動繪製矩形Canvas
- 微信小程式 canvas圓角矩形的繪製微信小程式Canvas
- 原來 Canvas 也能直接繪製圓角矩形了Canvas
- canvas學習筆記-繪製矩形及路徑(一)Canvas筆記
- SVG <rect> 繪製矩形SVG
- SVG 繪製圓角矩形SVG
- canvas 繪製扇形Canvas
- canvas 繪製文字Canvas
- canvas 繪製線條Canvas
- canvas 繪製圓形Canvas
- canvas繪製流星效果Canvas
- canvas繪製直線Canvas
- canvas lineWidth 繪製原理Canvas
- canvas lineWidth繪製原理Canvas
- JavaScript拖動滑鼠繪製矩形方框JavaScript
- Canvas 繪製雷達圖Canvas
- canvas 繪製雙線技巧Canvas
- canvas繪製風車效果Canvas
- canvas 繪製文字詳解Canvas
- canvas繪製笑臉表情Canvas
- CAD如何繪製固定面積的矩形
- CAD繪製帶角度的矩形陣列陣列
- canvas 虛線矩形Canvas
- canvas矩形拖拽效果Canvas
- Canvas(3)---繪製餅狀圖Canvas
- 用canvas繪製流星夜空Canvas
- canvas繪製動畫的技巧Canvas動畫
- canvas 繪製立體圓環Canvas
- canvas繪製不重合的圓Canvas
- canvas繪製sin正弦曲線Canvas
- canvas繪製圖案是重疊繪製而不是重置Canvas
- canvas 繪製圖案是重疊繪製而不是重置Canvas
- SVG拖動繪製矩形程式碼例項SVG
- iOS開發_繪製圓角矩形虛線環iOS