canvas fillStyle
屬性名稱fillStyle是一個合成詞,由單詞fill和style構成。
fill具有填充的意思,style具有方式的意思。
那麼可以猜測,此屬性的功能作用與圖案的填充方式,事實也的確如此。
fillStyle屬性可以設定或者返回canvas圖案的填充方式。
預設值是#000000,屬性值可以有如下三種型別:
(1).顏色。
(2).漸變。
(3).模式。
在文章後面會通過例項演示一下屬性值三種型別的使用。
更多關於canvas內容可以參閱canvas API一章節。
語法結構:
[JavaScript] 純文字檢視 複製程式碼context.fillStyle=color|gradient|pattern;
瀏覽器相容:
(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> <script> window.onload=function(){ let canvas=document.getElementById("ant"); let ctx=canvas.getContext("2d"); ctx.fillStyle="red"; ctx.fillRect(10,20,150,60); } </script> </head> <body> <canvas id="ant">當前瀏覽器不支援canvas</canvas> </body> </html>
程式碼執行效果截圖如下:
fillStyle屬性值為"red",當然也可以其他顏色型別,CSS可用的顏色型別,canvas中都是可用的。
關於這些顏色型別可以參閱CSS顏色值型別一章節。
演示一段使用RGBA顏色型別的例項:
[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("ant"); let ctx=canvas.getContext("2d"); ctx.fillStyle="RGBA(255,0,0,0.5)"; ctx.fillRect(10,20,150,60); } </script> </head> <body> <canvas id="ant">當前瀏覽器不支援canvas</canvas> </body> </html>
程式碼執行效果截圖如下:
fillStyle屬性值設定為RGBA顏色值。
[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("ant"); let ctx=canvas.getContext("2d"); let gradient=ctx.createLinearGradient(0,0,0,170); gradient.addColorStop(0,"red"); gradient.addColorStop(1,"blue"); ctx.fillStyle=gradient; ctx.fillRect(10,20,150,60); } </script> </head> <body> <canvas id="ant">當前瀏覽器不支援canvas</canvas> </body> </html>
程式碼執行效果截圖如下:
上述程式碼中,fillStyle屬性值並不是普通的顏色值,而是一個線性漸變物件。
關於線性漸變可以參閱canvas createLinearGradient()一章節。
[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("ant"); let ctx=canvas.getContext("2d"); let img=document.getElementById("lamp") let pat=ctx.createPattern(img,"repeat"); ctx.fillStyle=pat; ctx.fillRect(10,20,150,60); } </script> </head> <body> <canvas id="ant">當前瀏覽器不支援canvas</canvas> <img src="demo/js/img/lamp.jpg" id="lamp"> </body> </html>
程式碼執行效果截圖如下:
fillStyle屬性值是一個CanvasPattern物件。
關於此物件可以參閱canvas createPattern()一章節。
相關文章
- canvasCanvas
- WPF C# create canvas and draw ellipse in canvasC#Canvas
- canvas rect()Canvas
- canvas strokeStyleCanvas
- canvas lineTo()Canvas
- canvas strokeRect()Canvas
- canvas createRadialGradient()Canvas
- canvas createLinearGradient()Canvas
- canvas arc()Canvas
- canvas stroke()Canvas
- canvas fill()Canvas
- canvas setTransform()CanvasORM
- canvas transform()CanvasORM
- 初探canvasCanvas
- canvas closePath()Canvas
- canvas moveTo()Canvas
- canvas beginPath()Canvas
- canvas getContext()CanvasContext
- canvas getImageData()Canvas
- canvas isPointInPath()Canvas
- canvas putImageData()Canvas
- canvas drawImage()Canvas
- canvas clip()Canvas
- canvas arcTo()Canvas
- canvas createPattern()Canvas
- canvas createImageData()Canvas
- canvas restore()CanvasREST
- canvas translate()Canvas
- canvas rotate()Canvas
- canvas scale()Canvas
- canvas measureText()Canvas
- canvas fillText()Canvas
- canvas save()Canvas
- canvas clearRect()Canvas
- canvas fillRect()Canvas
- canvas(三)Canvas
- canvas toDataURL()Canvas
- canvas toBlob()Canvas