HTML画布的fillStyle()属性用于设置绘图的颜色,渐变或图案。默认值为#000000。 <canvas>元素允许您使用JavaScript在网页上绘制图形。每个画布都有两个描述画布高度和宽度的元素,分别是高度和宽度。
为矩形定义红色填充颜色:
JavaScript:
<!DOCTYPE html> <html> <head> <title>HTML canvas fillStyle属性的使用(菜鸟教程 cainiaoplus.com)</title> </head> <body> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签。</canvas> <script> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="#FF0000"; ctx.fillRect(20,20,150,100); </script> </body> </html>测试看看 ‹/›
IEFirefoxOperaChromeSafari
Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 fillStyle 属性。
注意:Internet Explorer 8 及之前的版本不支持canvas元素。
<canvas>元素允许您使用JavaScript在网页上绘制图形。每个画布都有两个描述画布高度和宽度的元素,分别是高度和宽度。
默认值: | #000000 |
---|---|
JavaScript 语法: | context.fillStyle=color|gradient|pattern; |
值 | 描述 |
---|---|
color | 指示绘图填充色的 CSS 颜色值。默认值是 #000000。 |
gradient | 用于填充绘图的渐变对象(线性 或 放射性)。 |
pattern | 用于填充绘图的 pattern 对象。 |
定义一个渐变(从上到下)作为矩形的填充样式:
JavaScript:
<!DOCTYPE html> <html> <head> <title>HTML canvas fillStyle属性的使用(菜鸟教程 cainiaoplus.com)</title> </head> <body> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); var my_gradient = ctx.createLinearGradient(0, 0, 0, 170); my_gradient.addColorStop(0, "black"); my_gradient.addColorStop(1, "white"); ctx.fillStyle = my_gradient; ctx.fillRect(20, 20, 150, 100); </script> <p>注意:Internet Explorer 8和更早版本不支持canvas标记。</p> </body> </html>测试看看 ‹/›
定义从左到右的渐变,作为矩形的填充样式:
JavaScript:
<!DOCTYPE html> <html> <head> <title>HTML canvas fillStyle属性的使用(菜鸟教程 cainiaoplus.com)</title> </head> <body> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); var grd = ctx.createLinearGradient(0, 0, 170, 0); grd.addColorStop(0, "black"); grd.addColorStop(0.5, "red"); grd.addColorStop(1, "white"); ctx.fillStyle = grd; ctx.fillRect(20, 20, 150, 100); </script> <p>注意:Internet Explorer 8和更早版本不支持canvas标记。</p> </body> </html>测试看看 ‹/›
定义从黑色到红色到白色的渐变作为矩形的填充样式:
JavaScript:
<!DOCTYPE html> <html> <head> <title>HTML canvas fillStyle属性的使用(菜鸟教程 cainiaoplus.com)</title> </head> <body> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); var my_gradient=ctx.createLinearGradient(0, 0, 170, 0); my_gradient.addColorStop(0, "black"); my_gradient.addColorStop(0.5, "red"); my_gradient.addColorStop(1, "white"); ctx.fillStyle = my_gradient; ctx.fillRect(20, 20, 150, 100); </script> <p>注意:Internet Explorer 8和更早版本不支持canvas标记。</p> </body> </html>测试看看 ‹/›
使用图像来填充绘图:
JavaScript:
<!DOCTYPE html> <html> <head> <title>HTML canvas fillStyle属性的使用(菜鸟教程 cainiaoplus.com)</title> </head> <body> <p>图片应用:</p> <img src="haha.gif" id="lamp"> <p>画布:</p> <button onclick="draw('repeat')">重复</button> <button onclick="draw('repeat-x')">重复-x</button> <button onclick="draw('repeat-y')">重复-y</button> <button onclick="draw('no-repeat')">不重复</button> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签。 </canvas> <script> function draw(direction) { var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.clearRect(0,0,c.width,c.height); var img=document.getElementById("lamp") var pat=ctx.createPattern(img,direction); ctx.rect(0,0,220,128); ctx.fillStyle=pat; ctx.fill(); } </script> </body> </html>测试看看 ‹/›