画布和全局复合操作
嘿,我有下面的代码,它可以给你“面具”的效果。
JSFiddle: http://jsfiddle.net/neuroflux/m5Fj2/7/
基本上,我会就像半透明的渐变而不是圆形...... 我尝试输入以下代码,但没有成功。
grad = ctx.createRadialGradient(0,0,0,0,0,600);
grad.addColorStop(0, '#000');
grad.addColorStop(1, 'rgb(' + color + ', ' + color + ', ' + color + ')');
// assign gradients to fill
ctx.fillStyle = grad;
// draw 600x600 fill
ctx.fillRect(0,0,600,600);
但我无法让它工作:'(
帮助(请!)。
Hey, I have the following code, that gives you the effect of a "mask".
JSFiddle: http://jsfiddle.net/neuroflux/m5Fj2/7/
Basically, I would like a semi-opaque gradient instead of a circle...
I tried to put the following code in, but to no advail.
grad = ctx.createRadialGradient(0,0,0,0,0,600);
grad.addColorStop(0, '#000');
grad.addColorStop(1, 'rgb(' + color + ', ' + color + ', ' + color + ')');
// assign gradients to fill
ctx.fillStyle = grad;
// draw 600x600 fill
ctx.fillRect(0,0,600,600);
But I couldn't get it to work :'(
HELP (please!).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,
这是一种你永远不想在循环中做的事情。现在您每 40 毫秒创建一个新画布!太疯狂了!
其次,如果你想要半透明的渐变,为什么不使用 globalCompositeOperations 而只使用半透明的颜色呢?
将 Alpha 添加到颜色中,如下所示:
First off,
Is the kind of stuff you never want to do in a loop. Right now you are creating a new canvas every 40 milliseconds! That's nuts!
Secondly, if you want a semi-opaque gradient, why don't you not use globalCompositeOperations at all and just use half-transparent colors?
Add alpha to the colors, like this: