Javascript 如何制作旋转梯度(在圆上)?
我使用圆弧函数创建了一个简单的圆:Javascript 如何制作旋转梯度(在圆上)?,javascript,html,canvas,gradient,Javascript,Html,Canvas,Gradient,我使用圆弧函数创建了一个简单的圆: /* 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(
/* 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。旋转(x),但它会旋转整个圆 是的。渐变从
x1,y1
到x2,y2
,这是createLinearGradient
例如,要反转渐变,请执行以下操作:
var gradient=ctx.createLinearGradient(this.radius,this.radius,0,0)代码>
或者随意更改:
var gradient=ctx.createLinearGradient(this.radius,0,0,0)代码>
等等。谢谢,但我不太明白第二个坐标x2和y2。我应该通过圆周吗?你只需要使用梯度开始和结束的两点。所以现在你的是从左上角开始,以半径,半径结束。你希望它从哪里开始和结束?梯度应该在整个圆上展开,所以我必须设置半径。我已经做了一点实验,但是我怎样才能做一个循环呢?我的意思是当x和y等于半径时是什么?