canvas strokeText() 文字描邊
此方法可以在指定位置繪製具有描邊的文字。
stroke是描邊的意思,text則是文字的意思,方法功能的確名副其實。
可以結合canvas fillText()一章節。
語法結構:
[JavaScript] 純文字檢視 複製程式碼context.strokeText(text,x,y,maxWidth);
引數解析:
(1).text:必需,規定要繪製的文字內容。
(2).x:必需,規定文字繪製開始位置x軸座標。
(3).y:必需,規定文字繪製開始位置y軸座標。
(4).maxWidth:可選,規定文字繪製區域的寬度。
瀏覽器相容:
(1).IE9+瀏覽器支援此方法。
(2).edge瀏覽器支援此方法。
(3).谷歌瀏覽器支援此方法。
(4).火狐瀏覽器支援此方法。
(5).Opera瀏覽器支援此方法。
(6).Safari瀏覽器支援此方法。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> canvas{ border:1px solid #d3d3d3; } </style> <script> window.onload=function(){ let canvas=document.getElementById("ant"); let ctx=canvas.getContext("2d"); ctx.font="40px Georgia"; ctx.strokeText("螞蟻部落",10,50); } </script> </head> <body> <canvas id="ant" width="380" height="150"></canvas> </body> </html>
程式碼執行效果截圖如下:
程式碼分析如下:
(1).被繪製的"螞蟻部落"文字是由strokeText方法的第一個引數規定。
(2).文字繪製的位置有strokeText方法的第二個和第三個引數規定。
可以看到文字是鏤空的,也就是隻有描邊沒有填充,當然我們也可以對其進行填充。
具體實現方式可以參閱canvas 填充描邊文字一章節。
預設狀態下,描邊的顏色是#000000,當然也可以進行修飾。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> canvas{ border:1px solid #d3d3d3; } </style> <script> window.onload=function(){ let canvas=document.getElementById("ant"); let ctx=canvas.getContext("2d"); ctx.font="40px Georgia"; ctx.strokeStyle="red"; ctx.lineWidth="2" ctx.strokeText("螞蟻部落",10,50); } </script> </head> <body> <canvas id="ant" width="380" height="150"></canvas> </body> </html>
程式碼執行效果截圖如下:
上述程式碼對文字的描邊進行了修飾操作。
(1).通過lineWidth屬性設定描邊的粗細。
(2).strokeStyle屬性設定描邊的樣式。
關於lineWidth屬性的基本用法可以參閱canvas lineWidth繪製原理一章節。
strokeStyle屬性不僅僅可以設定顏色,屬性值也可以是漸變或者圖案模式。
看一段程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> canvas{ border:1px solid #d3d3d3; } </style> <script> window.onload=function(){ let canvas=document.getElementById("ant"); let ctx=canvas.getContext("2d"); ctx.font="40px Georgia"; let gradient=ctx.createLinearGradient(0,0,canvas.width,0); gradient.addColorStop("0","magenta"); gradient.addColorStop("0.5","blue"); gradient.addColorStop("1.0","red"); ctx.strokeStyle=gradient; ctx.lineWidth="2" ctx.strokeText("螞蟻部落",10,50); } </script> </head> <body> <canvas id="ant" width="380" height="150"></canvas> </body> </html>
程式碼執行效果截圖如下:
可以看到文字描邊具有線性漸變效果。
maxWidth引數:
也就是strokeText方法的最後一個引數。
它用來規定文字顯示範圍的,如果沒有此引數,那文字具有廣闊的天地。
如果規定此引數,那麼文字只能在此引數規定的寬度內顯示,如果文字寬度超過maxWidth,那麼文字會進行瘦身操作,也就是在水平方向擠壓或者縮小字號以適應寬度。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> canvas{ border:1px solid #d3d3d3; } </style> <script> window.onload=function(){ let canvas=document.getElementById("ant"); let ctx=canvas.getContext("2d"); ctx.font="40px Georgia"; let gradient=ctx.createLinearGradient(0,0,canvas.width,0); gradient.addColorStop("0","magenta"); gradient.addColorStop("0.5","blue"); gradient.addColorStop("1.0","red"); ctx.strokeStyle=gradient; ctx.lineWidth="2" ctx.strokeText("螞蟻部落",10,50,60); } </script> </head> <body> <canvas id="ant" width="380" height="150"></canvas> </body> </html>
程式碼執行效果截圖如下:
是不是這樣就很容易理解了。
相關文章
- canvas 描邊與填充Canvas
- canvas 填充覆蓋描邊Canvas
- canvas描邊和填充介紹Canvas
- SVG 文字填充和描邊SVG
- CSS和SVG實現文字漸變、描邊、投影CSSSVG
- CSS3文字的描邊鏤空效果CSSS3
- canvas 繪製文字Canvas
- canvas fillText() 文字填充Canvas
- canvas fillText() 填充文字Canvas
- 使用 WPF 做個 PowerPoint 系列 基於 OpenXML 解析實現 PPT 文字描邊效果XML
- 使用CustomForwardRendererData做描邊效果Forward
- canvas 寫入文字內容Canvas
- canvas 繪製文字詳解Canvas
- canvas textAlign 文字對齊Canvas
- UIButton(左邊圖片右邊文字)UI
- 短視訊系統原始碼,如何給button控制元件新增描邊、填充背景和描邊原始碼控制元件
- 直播軟體搭建,canvas文字加粗Canvas
- C#字串操作 取文字左邊 取文字右邊 取文字中間 取文字中間到List集合 指定文字倒序C#字串
- SVG 填充、描邊和透明度設定SVG
- 去除input焦點描邊程式碼例項
- SVG描邊透明度簡單介紹SVG
- canvas 圖片、文字模糊問題Canvas
- canvas 按住滑鼠拖動 繪製文字Canvas
- Unity URP 描邊 用RenderPassFeature實現Unity
- 【帶著canvas去流浪(10)】文字煙花Canvas
- html5 canvas學習--繪製文字HTMLCanvas
- 文字嵌入邊框程式碼例項
- PDF檔案掃描文字識別軟體
- canvas實現的多邊形程式碼例項Canvas
- Esfog_UnityShader教程_遮擋描邊(原理篇)Unity
- Winform窗體圓角以及描邊完美解決方案ORM
- 基於 Canvas 的 HTML5 文字動畫特效CanvasHTML動畫特效
- e語音 【刪除文字右邊字元】字元
- e語言 取文字右邊的字串字串
- C# 掃描並讀取圖片中的文字C#
- Text Scanner Mac高階版ocr文字掃描神器Mac
- Java 實現OCR掃描/識別圖片文字Java
- 雙效合一的SVG多色描邊變形動畫SVG動畫