HTML5 canvas createLinearGradient() 方法

实例

定义从黑到白的渐变(从左向右),作为矩形的填充样式:

  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 支持 createLinearGradient() 方法。

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

定义和用法

createLinearGradient() 方法创建线性的渐变对象。

渐变可用于填充矩形、圆形、线条、文本等等。

提示:请使用该对象作为 strokeStylefillStyle 属性的值。

提示:请使用 addColorStop() 方法规定不同的颜色,以及在 gradient 对象中的何处定位颜色。

JavaScript 语法:

  1. context.createLinearGradient(x0,y0,x1,y1);

参数值

参数 描述
x0 渐变开始点的 x 坐标
y0 渐变开始点的 y 坐标
x1 渐变结束点的 x 坐标
y1 渐变结束点的 y 坐标

更多实例

实例 1

定义一个渐变(从上到下)作为矩形的填充样式:

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

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

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

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

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);