了解CanvasRenderingContext2D.createLinearGradient()
简介
Canvas
而不是相对于填充元素计算的。,这里的渐变坐标是全局的,需要注意的是
如果渐变坐标在Canvas外部,也只会显示画布内的渐变效果。
语法
context.createLinearGradient(x0, y0, x1, y1);
返回值是CanvasGradient对象。
参数
各个参数含义和作用如下:
- x0 Number
- 渐变起始点横坐标。
- y0 Number
- 渐变起始点纵坐标。
- x1 Number
- 渐变结束点横坐标。
- y1 Number
- 渐变结束点纵坐标。
线性渐变效果比较好脑补,就是从坐标点[x0, y0]到坐标点[x1, y1]的位置画一条线,然后整个渐变色带与与这条线垂直。
案例
演示下最简单的头尾二色渐变,以及渐变坐标的全局特性,如下JavaScript代码:
var context = canvas.getContext('2d'); // 创建渐变 var gradient = context.createLinearGradient(0, 0, 300, 0); gradient.addColorStop(0, 'red'); gradient.addColorStop(1, 'green'); // 设置填充样式为渐变 context.fillStyle = gradient; // 左上角和右下角分别填充2个矩形 context.fillRect(10, 10, 160, 60); context.fillRect(120, 80, 160, 60);
实时效果如下:
很直观展示了渐变坐标是全局的,而不是相对于填充元素(例如这里的矩形)。
其他
规范文档
| 规范地址 | 规范状态 | 备注 |
|---|---|---|
|
HTML现行标准 这个规范中定义了'CanvasRenderingContext2D.createLinearGradient' |
现行标准 | - |
相关资源
暂无
兼容性
IE9+支持,全兼容。
by zhangxinxu 2019-10-18 01:44:04