createLinearGradient()方法创建一个沿参数坐标指定的直线的渐变。该方法返回一个线性 CanvasGradient对象。
定义从红色到白色的渐变(从左到右),作为矩形的填充样式:
createLinearGradient()方法的使用演示:
<!DOCTYPE html> <html> <head> <title>HTML canvas createLinearGradient()方法的使用(基础教程网 (niaoge.com))</title> </head> <body> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签。 </canvas> <script> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); var grd=ctx.createLinearGradient(0,0,170,0); grd.addColorStop(0,"red"); grd.addColorStop(1,"white"); ctx.fillStyle=grd; ctx.fillRect(20,20,150,100); </script> </body> </html>测试看看 ‹/›
IEFirefoxOperaChromeSafari
Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 createLinearGradient() 方法。
注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。
createLinearGradient()方法创建一个线性渐变对象。
渐变可用于填充矩形,圆形,直线,文本等
提示:请使用该对象作为 strokeStyle 或 fillStyle 属性的值。
提示:请使用 addColorStop() 方法规定不同的颜色,以及在 gradient 对象中的何处定位颜色。
JavaScript 语法: | context.createLinearGradient(x0,y0,x1,y1); |
---|
参数 | 描述 |
---|---|
x0 | 渐变开始点的 x 坐标 |
y0 | 渐变开始点的 y 坐标 |
x1 | 渐变结束点的 x 坐标 |
y1 | 渐变结束点的 y 坐标 |
定义一个渐变(从上到下)作为矩形的填充样式:
使用JavaScript演示效果:
<!DOCTYPE html> <html> <head> <title>HTML canvas createLinearGradient()方法的使用(基础教程网 (niaoge.com))</title> </head> <body> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签。 </canvas> <script> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); var my_gradient=ctx.createLinearGradient(0,0,0,170); my_gradient.addColorStop(0,"black"); my_gradient.addColorStop(1,"white"); ctx.fillStyle=my_gradient; ctx.fillRect(20,20,150,100); </script> </body> </html>测试看看 ‹/›
定义一个从黑到红再到白的渐变,作为矩形的填充样式:
createLinearGradient()方法的使用演示:
<!DOCTYPE html> <html> <head> <title>HTML canvas createLinearGradient()方法的使用(基础教程网 (niaoge.com))</title> </head> <body> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签。 </canvas> <script> 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.5,"red"); grd.addColorStop(1,"white"); ctx.fillStyle=grd; ctx.fillRect(20,20,150,100); </script> </body> </html>测试看看 ‹/›