canvas 設定矩形樣式
本文簡單總結一下為canvas矩形設定樣式的簡單方式。
繪製矩形的方式有多種,具體參閱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.rect(10, 10, 100, 100); ctx.stroke(); } </script> </head> <body> <canvas id="canvas" width="300" height="150"></canvas> </body> </html>
程式碼執行效果截圖如下:
上述程式碼預設繪製一個具有描邊無填充矩形。
下面通過程式碼例項分步介紹一下為此矩形新增相關樣式。
一.設定描邊:
預設描邊顏色是#000000,當然也可以自定義。
程式碼例項如下:
[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.strokeStyle="blue"; ctx.stroke(); } </script> </head> <body> <canvas id="canvas" width="300" height="150"></canvas> </body> </html>
程式碼執行效果截圖如下:
通過strokeStyle屬性可以設定描邊的顏色。
不過此屬性的功能並不僅限於設定顏色,還能夠設定漸變等效果。
具體參閱canvas strokeStyle一章節。
二.設定描邊的粗細:
描邊的粗細也可以自定義,程式碼例項如下:
[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.lineWidth=10; ctx.strokeStyle="blue"; ctx.stroke(); } </script> </head> <body> <canvas id="canvas" width="300" height="150"></canvas> </body> </html>
程式碼執行效果截圖如下:
上述程式碼可以將矩形描邊粗細設定為10px。
關於lineWidth屬性可以參閱canvas lineWidth繪製原理一章節。
三.設定矩形填充:
下面再來看如何設定矩形的背景樣式,也就是它的填充。
程式碼例項如下:
[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.lineWidth=10; ctx.strokeStyle="blue"; ctx.fillStyle="red"; ctx.stroke(); ctx.fill(); } </script> </head> <body> <canvas id="canvas" width="300" height="150"></canvas> </body> </html>
程式碼執行效果截圖如下:
上面程式碼將矩形使用紅色背景色填充。
但是有沒有發現一個奇怪的現象,描邊的寬度已經不是最初的10px。
這是因為描邊並不是完全向外繪製的,而是從中線向兩側繪製,填充會覆蓋內側的描邊。
具體參閱canvas lineWidth繪製原理一章節。
解決方案很簡單,具體參閱canvas 填充覆蓋描邊一章節。
fillStyle不止可以設定背景色,還可以設定漸變或者圖案等效果。
具體參閱canvas fillStyle一章節。
相關文章
- canvas—元素樣式設定Canvas
- canvas 設定線條的樣式Canvas
- canvas 繪製矩形Canvas
- canvas 虛線矩形Canvas
- canvas矩形拖拽效果Canvas
- canvas填充樣式Canvas
- canvas 繪製旋轉一定角度的矩形Canvas
- canvas繪製旋轉一定角度的矩形效果Canvas
- CSS 設定 <progress>樣式CSS
- CSS 設定列表樣式CSS
- CSS 設定文字樣式CSS
- QSpinBox 設定樣式
- QMenu setStyleSheet樣式設定
- canvas 繪製圓角矩形Canvas
- canvas 繪製矩形缺角Canvas
- canvas繪製矩形框Canvas
- QSpinBox樣式表設定
- CSS 設定svg元素樣式CSSSVG
- SVG 設定線條樣式SVG
- CSS 設定table表格樣式CSS
- CSS 設定連結樣式CSS
- Hype如何設定字型樣式
- ECharts 樣式設定介紹Echarts
- 如何設定連結樣式
- js批量設定css樣式JSCSS
- css 字型樣式設定大全CSS
- CSS樣式設定小技巧CSS
- JS如何設定元素樣式?JS
- canvas系列教程之繪製矩形Canvas
- canvas透明度的矩形效果Canvas
- canvas具有漸變效果的矩形Canvas
- cad標註樣式設定引數 怎麼設定cad標註樣式
- CSS 設定placeholder文字樣式CSS
- CSS 設定<img>圖片樣式CSS
- CSS設定連線<a>的樣式CSS
- CSS 設定input文字框樣式CSS
- css設定input文字框樣式CSS
- QTableWidget 設定列寬樣式QT