我有一个圆形画布动画,我想淡出边缘。我最终得到的解决方案是创建一个更大的画布,以从透明到背景颜色的径向渐变放在前面。这适用于黑色背景,但我无法弄清楚为什么当我将其设为白色时会出现灰色渐变。
var c = document.getElementById('canvas'),
ctx = c.getContext('2d'),
w = 300,
w2 = w / 2,
h = 300,
h2 = h / 2,
cr = 100
;
c.width = w;
c.height = h;
ctx.rect(0, 0, w, h);
var g = ctx.createRadialGradient(
w2,
h2,
1,
w2,
h2,
cr * 90 / 100
);
g.addColorStop(0, 'transparent');
g.addColorStop(1, '#ffffff');
ctx.fillStyle = g;
ctx.fill();
有什么想法吗?