HTML5 canvas addColorStop() 方法

实例

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

  1. <canvas id="myCanvas" class="canvas_example"> Your browser does not support the HTML5 canvas tag. </canvas>

JavaScript:

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

浏览器支持

Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 addColorStop() 方法。

注释:Internet Explorer 8 或更早的浏览器不支持 <canvas> 元素。

定义和用法

addColorStop() 方法规定 gradient 对象中的颜色和位置。

addColorStop() 方法与 createLinearGradient()createRadialGradient() 一起使用。

注释:您可以多次调用 addColorStop() 方法来改变渐变。如果您不对 gradient 对象使用该方法,那么渐变将不可见。为了获得可见的渐变,您需要创建至少一个色标。

JavaScript 语法:

  1. gradient.addColorStop(stop,color);

参数值

参数 描述
stop 介于 0.0 与 1.0 之间的值,表示渐变中开始与结束之间的位置。
color 在结束位置显示的 CSS 颜色值

更多实例

通过多个 addColorStop() 方法来定义渐变:

  1. <canvas id="myCanvas2" class="canvas_example"> Your browser does not support the HTML5 canvas tag. </canvas>

JavaScript:

  1. var c=document.getElementById("myCanvas");
  2. var ctx=c.getContext("2d");
  3.  
  4. var grd=ctx.createLinearGradient(0,0,170,0);
  5. grd.addColorStop(0,"black");
  6. grd.addColorStop("0.3","magenta");
  7. grd.addColorStop("0.5","blue");
  8. grd.addColorStop("0.6","green");
  9. grd.addColorStop("0.8","yellow");
  10. grd.addColorStop(1,"red");
  11.  
  12. ctx.fillStyle=grd;
  13. ctx.fillRect(20,20,150,100);