HTML canvas addColorStop() 方法
Canvas 对象的 addColorStop() 方法规定渐变对象中的颜色和位置
addColorStop() 方法与 createLinearGradient() 或 createRadialGradient() 一起使用
可以多次调用 addColorStop() 方法来改变渐变
如果不对渐变对象使用该方法,那么渐变将不可见
为了获得可见的渐变,需要创建至少一个色标
语法
gradient.addColorStop(stop,color)
参数值
参数 | 描述 |
---|---|
stop | 介于 0.0 与 1.0 之间的值,表示渐变中开始与结束之间的位置 |
color | 在 stop 位置显示的 CSS 颜色值 |
浏览器支持
Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 addColorStop() 方法
Internet Explorer 8 及之前的版本不支持 <canvas> 元素
范例
定义一个从黑到白的渐变,作为矩形的填充样式
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);
范例 2
通过多个 addColorStop() 方法来定义渐变
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);