HTML canvas fillStyle 属性

HTML5 Canvas 参考手册

实例

定义用蓝色填充的矩形:

定义用蓝色填充的矩形.png

JavaScript:

  1. var c=document.getElementById("myCanvas");
  2. var ctx=c.getContext("2d");
  3. ctx.fillStyle="#0000ff";
  4. ctx.fillRect(20,20,150,100);

浏览器支持

Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 fillStyle 属性。

注释:Internet Explorer 8 以及更早的版本不支持 <canvas> 元素。

定义和用法

fillStyle 属性设置或返回用于填充绘画的颜色、渐变或模式。

默认值: #000000
JavaScript 语法: context.fillStyle=color|gradient|pattern;

属性值

描述
color 指示绘图填充色的 CSS 颜色值。默认值是 #000000。
gradient 用于填充绘图的渐变对象(线性或放射性)
pattern 用于填充绘图的 pattern 对象

更多实例

实例 1

定义从上到下的渐变,作为矩形的填充样式:

定义从上到下的渐变,作为矩形的填充样式。.png

JavaScript:

  1. var c=document.getElementById("myCanvas");
  2. var ctx=c.getContext("2d");
  3. var my_gradient=ctx.createLinearGradient(0,0,0,170);
  4. my_gradient.addColorStop(0,"black");
  5. my_gradient.addColorStop(1,"white");
  6. ctx.fillStyle=my_gradient;
  7. ctx.fillRect(20,20,150,100);

实例 2

定义从左到右的渐变,作为矩形的填充样式:

定义从左到右的渐变,作为矩形的填充样式。.png

JavaScript:

  1. var c=document.getElementById("myCanvas");
  2. var ctx=c.getContext("2d");
  3. var my_gradient=ctx.createLinearGradient(0,0,170,0);
  4. my_gradient.addColorStop(0,"black");
  5. my_gradient.addColorStop(1,"white");
  6. ctx.fillStyle=my_gradient;
  7. ctx.fillRect(20,20,150,100);

实例 3

定义从黑到红到白的的渐变,作为矩形的填充样式:

定义从黑到红到白的的渐变,作为矩形的填充样式。.png

JavaScript:

  1. var c=document.getElementById("myCanvas");
  2. var ctx=c.getContext("2d");
  3. var my_gradient=ctx.createLinearGradient(0,0,170,0);
  4. my_gradient.addColorStop(0,"black");
  5. my_gradient.addColorStop(0.5,"red");
  6. my_gradient.addColorStop(1,"white");
  7. ctx.fillStyle=my_gradient;
  8. ctx.fillRect(20,20,150,100);

实例 4

用到的图像:

lamp.gif

使用图像来填充绘图:

使用图像来填充绘图.png

JavaScript:

  1. var c=document.getElementById("myCanvas");
  2. var ctx=c.getContext("2d");
  3. var img=document.getElementById("lamp");
  4. var pat=ctx.createPattern(img,"repeat");
  5. ctx.rect(0,0,150,100);
  6. ctx.fillStyle=pat;
  7. ctx.fill();