【发布时间】:2013-06-18 21:39:05
【问题描述】:
我只是想用 rgba 来填充一个渐变的对象。然而,屏幕上什么也没有出现,简单的 addcolorstop 可以工作,只是不适用于 rgba。
这行得通:
var ctx = this.context;
var fillColor = ctx.createRadialGradient(100, 100, 10, 100, 100, 70);
fillColor.addColorStop(0.2, "green");
ctx.fillStyle = fillColor;
ctx.beginPath();
ctx.arc(obj.x, obj.y, obj.r, 0, 2 * Math.PI, true);
ctx.closePath();
ctx.fill();
这不是:
var ctx = this.context;
var fillColor = ctx.createRadialGradient(100, 100, 10, 100, 100, 70);
grad.addColorStop(0.0, 'rgba(0,0,0,1)');
grad.addColorStop(0.5, 'rgba(0,0,0,0)');
grad.addColorStop(1.0, 'rgba(0,0,0,1)');
ctx.fillStyle = fillColor;
ctx.beginPath();
ctx.arc(obj.x, obj.y, obj.r, 0, 2 * Math.PI, true);
ctx.closePath();
ctx.fill();
【问题讨论】: