HTML5中的Canvas fillStyle无

时间:2013-09-03 18:11:11

标签: html5 canvas html5-canvas

我想填充任何颜色到画布,即我希望背景div颜色应该继续显示在div中。我用谷歌搜索了它,但没有找到任何解决方案来保持fillStyle没有颜色。

此外,我尝试省略fillStyle,但它留下了黑色。

有任何可用选项吗?

由于

3 个答案:

答案 0 :(得分:5)

我不知道你要做什么,但似乎你想让你的画布透明。你可以用JavaScript做到这一点:

context.fillStyle = "rgba(0, 0, 200, 0)";

或者在CSS中,foo将是canvas元素的id。请注意,这会使元素本身透明,而不仅仅是内容。

#foo {
    opacity: 0;
}

答案 1 :(得分:4)

您需要使用它来清除画布:

context.clearRect(0, 0, canvas.width, canvas.height);

(或您需要的矩形)。

同时确保没有为canvas元素的背景设置CSS规则(如果你的画布在init上透明,可能就是这种情况,因为画布默认是透明的)。

如果您需要清除非常规形状,可以使用复合模式:

context.globalCompositeOperation = 'destination-out';

xorsource-out也可以在某种程度上也用于移除现有像素,但有一些变化。)

这将以您绘制的下一个形状(路径)的形式清除画布(或使用实心像素将清除画布的图像)。

答案 2 :(得分:0)

您需要清除画布,而不是绘制透明度......只需考虑一下。您无法使用透明涂料清洁玻璃,同样适用于<canvas>元素。

http://jsfiddle.net/Z6XTg/1/

这个画布演示非常简单

ctx.clearRect(0,0,canvas.width,canvas.height);

之前绘制任何东西,从而保持画布的透明度。