CanvasRenderingContext2D中的alpha属性是什么?

时间:2017-11-23 10:14:21

标签: javascript canvas

MDN说:

  

alpha:Boolean,指示画布是否包含Alpha通道。   如果设置为false,浏览器现在知道背景总是如此   不透明,可以加快透明内容和图像的绘制   然后

听起来很直接,但我仍然不太清楚这个属性到底在做什么。

它说"当错误时,浏览器知道背景总是不透明的"。现在,如果我稍后设置canvasElem.style.backgroundColor = "rgba(200,200,200,0.5)";,我仍然会获得透明的画布背景,它仍会计算alpha。

1 个答案:

答案 0 :(得分:1)

是的,这是非常直接的蔑视 在支持浏览器时(根据您链接到Chrome,Firefox和Opera的页面),这将创建一个没有像素可以具有透明度的上下文。

这意味着它将开始全黑,并且所有可能发生的alpha混合将针对这些第一个黑色完全不透明的像素。

所以这也意味着你无论如何也无法看到这种CSS背景颜色,这让我觉得你试过不支持的浏览器,或者你没有正确地调用它



ctx= canvas.getContext('2d', {alpha:false});
ctx.fillStyle= 'rgba(255,0,0,0.5)';
ctx.fillRect(0,0,50,50);

<canvas id=canvas></canvas>
&#13;
&#13;
&#13;