具有透明/不透明度的区间中的canvas fillStyle

时间:2011-09-18 10:34:23

标签: javascript canvas opacity

这个小代码清除了区间中的旧画布数据:

// start interval
ctx.save();
    ctx.fillStyle = "rgba(0, 0, 0, 0.2)";
    ctx.fillRect(0, 0, ctx.width, ctx.height);
ctx.restore();
//some draw code for new graph
...
//end interval

我的工作区变黑了,因为我将黑色设置为填充色(rgba(0,0,0,.2)),但我需要透明背景,而不是黑色。

我尝试使用globalAlpha和imagePutData,但我失败了。

我怎么能这样做?

4 个答案:

答案 0 :(得分:6)

在chrome和firefox上使用rgba(0,0,0,.2) fillStyle和fillRect()对我有效 - 它会绘制一个半透明的黑色填充。检查以确保你没有做其他导致某种完全不透明的油漆的东西。

答案 1 :(得分:6)

我认为这会解决您的问题

ctx.fillStyle = "rgba(255, 255, 255, 0.5)";

答案 2 :(得分:3)

尝试ctx.canvas.width,而不是ctx.width

答案 3 :(得分:0)

您的问题已解决

我在使用Windows计算机时遇到了这个问题

我用opacity: .99解决了这个问题