我使用arc函数创建一个简单的圆圈:
/* ctx is the 2d context */
ctx.beginPath();
var gradient = ctx.createLinearGradient(0, 0, this.radius, this.radius);
gradient.addColorStop(0, '#FF0000');
gradient.addColorStop(1, '#FFFFFF');
ctx.lineWidth = 10;
ctx.arc(this.radius, this.radius, this.radius, 0, 2*Math.PI, true);
ctx.strokeStyle = gradient;
ctx.stroke();
所以我想旋转渐变,这可能吗? 我试过用 ctx.rotate(x)但是这会旋转整个圆圈!
答案 0 :(得分:3)
是。您的渐变从x1,y1
变为x2,y2
,这是createLinearGradient
的最后四个参数
例如,要反转渐变,请执行以下操作:
var gradient = ctx.createLinearGradient(this.radius, this.radius, 0, 0);
或者随便改变它:
var gradient = ctx.createLinearGradient(this.radius, 0, 0, 0);
等等。