HTML canvas addColorStop() 方法

HTML canvas addColorStop() 方法

HTML canvas 参考手册 HTML canvas 参考手册

实例

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

YourbrowserdoesnotsupporttheHTML5canvastag. window.onload=function() { var c=document.getElementById('myCanvas'); var canvOK=1; try {c.getContext("2d");} catch (er) {canvOK=0;} if (canvOK==1) { var ctx=c.getContext('2d'); var grd=ctx.createLinearGradient(0,0,170,0); grd.addColorStop(0,"black"); grd.addColorStop(1,"white"); ctx.fillStyle=grd; ctx.fillRect(20,20,150,100); } }

JavaScript:

var c=document.getElementById('myCanvas');
var ctx=c.getContext('2d');

var grd=ctx.createLinearGradient(0,0,170,0);
grd.addColorStop(0,"black");
grd.addColorStop(1,"white");

ctx.fillStyle=grd;
ctx.fillRect(20,20,150,100);

尝试一下 »

浏览器支持

Internet ExplorerFirefoxOperaGoogle ChromeSafari

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

注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。


定义和用法

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

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

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

JavaScript 语法: gradient.addColorStop(stop,color);

参数值

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


实例

更多实例

实例

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

Yourbrowserdoesnotsupportthecanvastag. var canvas=document.getElementById("myCanvas2"); var ctx=canvas.getContext("2d"); var grd=ctx.createLinearGradient(0,0,170,0); grd.addColorStop(0,"black"); grd.addColorStop("0.3","magenta"); grd.addColorStop("0.5","blue"); grd.addColorStop("0.6","green"); grd.addColorStop("0.8","yellow"); grd.addColorStop(1,"red"); ctx.fillStyle=grd; ctx.fillRect(20,20,150,100);

JavaScript:

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.3","magenta");
grd.addColorStop("0.5","blue");
grd.addColorStop("0.6","green");
grd.addColorStop("0.8","yellow");
grd.addColorStop(1,"red");

ctx.fillStyle=grd;
ctx.fillRect(20,20,150,100);

尝试一下 »


HTML canvas 参考手册 HTML canvas 参考手册