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>
测试看看 ‹/›