我正在使用JavaScript开发资源监视器,我假装用一个很酷的背景动画来完成它。
我在fillStyle中遇到fillRect和透明色问题,例如:
function draw() {
ctx.fillStyle = "rgba(0, 0, 0, 0.1)";
ctx.fillRect(0, 0, c.width, c.height);
ctx.fillStyle = "#00FF00";
ctx.strokeStyle = "#00FF00";
ctx.beginPath();
ctx.arc(getRandom(0, c.width),getRandom(0,c.height),25,0,2*Math.PI);
ctx.arc(getRandom(0, c.width),getRandom(0,c.height),25,0,2*Math.PI);
ctx.stroke();
}
它工作正常,但它并没有完全填满,留下一些"鬼"圈子之前已经过去了。
无论如何要解决此问题并使背景再次变成黑色?
注意: 我无法绘制纯黑色,因为我希望绘制的线条能够平滑消失
问题图片:http://i.stack.imgur.com/GrPxX.png 请注意,黄色圆点是最近的线条,橙色是过渡线条,它们提供平滑效果,而红色圆点是"鬼魂"
答案 0 :(得分:1)
填充矩形时,您使用的是半透明黑色。这样做会使那里的东西变暗,但它不会消除它,因为它是半透明的。如果你想用纯黑色覆盖它,要么设置完全不透明度(最大alpha值),要么使用rgb颜色而不是rgba。如果使用rgb,则alpha值将隐式设置为opaque。