画布HTML5上的径向渐变

时间:2016-07-18 12:38:13

标签: javascript html5 canvas

我在HTML5的Canvas中对radialGradient有一些问题。我有一些我在画布上绘画的线条,我想在这一行上设置渐变。

这个渐变必须沿着这个"路径",所以我的想法是在x,y的开始路径,到路径末端的x,y做径向渐变,我有计算问题这两个放射状。你能解释一下如何计算这个径向吗?

我尝试了r1 = 0,并且r2 = x,y start和x之间的距离,y停止,但这是个坏主意。

例如设置路径x,y到:start(10,10)和stop(100,100)所以我们有一些简单的线,请帮我如何在这个上设置渐变

那是我的代码:

var radius = Math.sqrt((XGStop-XGStart)*(XGStop-XGStart) + (YGStop-YGStart)*(YGStop-YGStart));

var lingrad = ctx.createRadialGradient(XGStart, YGStart, 0,  XGStop, YGStop,radius );
lingrad.addColorStop(0, 'red');
lingrad.addColorStop(1, 'yellow');
ctx.strokeStyle =lingrad;

1 个答案:

答案 0 :(得分:2)

这可能会给你预期的目的。

var midpointX =  (XGStart + XGStop) /2;
var midpointY =  (YGStart + YGStop) /2;
var lingrad = ctx.createRadialGradient(midpointX, midpointY, 0,  midpointX, midpointY,radius );