如何在html5中制作透明的canvas?
我怎样才能使canvas透明? 我需要,因为我想把两个canvas在另一个之上。
canvas默认是透明的。
尝试设置页面背景图像,然后在其上放置一个canvas。 如果canvas上没有绘制任何东西,则可以完全看到页面背景。
想象canvas就像在玻璃板上画画一样。
如果你想要一个特定的<canvas id="canvasID">
总是透明的,你只需要设置
#canvasID{ opacity:0.5; }
相反,如果你想在canvas区域内的某些特定的元素是透明的,你必须设置透明度,当你画,即
context.fillStyle = "rgba(0, 0, 200, 0.5)";
我相信你正在试图完成我刚才所做的工作:我想要两个堆叠的canvas…底部有一个静态图像,最上面的一个包含animation精灵。 由于animation,您需要清除顶层的背景,以便在渲染每个新帧时开始透明。 我终于find了答案:它不使用globalAlpha,也不使用rgba()颜色。 简单而有效的答案是:
context.clearRect(0,0,width,height);
只需将canvas的背景设置为透明即可。
#canvasID{ background:transparent; }
把你的两个canvas涂在第三个canvas上。
我有这个相同的问题,没有解决scheme在这里解决了我的问题。 我有一个不透明的canvas,上面有另一个透明的canvas。 不透明的canvas完全看不见,但页面背景是可见的。 顶部透明canvas上的图画是可见的,而下面的不透明canvas则不是。
不能评论最后的答案,但修复相对容易。 只需设置不透明canvas的背景颜色即可:
#canvas1 { background-color: black; } //opaque canvas #canvas2 { ... } //transparent canvas
我不确定,但它看起来像背景颜色从身体透明inheritance。