📜  HTML | canvas globalAlpha 属性(1)

📅  最后修改于: 2023-12-03 14:41:47.325000             🧑  作者: Mango

HTML | canvas globalAlpha 属性

HTML中的canvas元素提供了一套API来绘制图像,其中globalAlpha属性可以用于设置当前绘制内容的不透明度。

语法
context.globalAlpha = alphaValue;

其中,alphaValue取值范围为0.0(完全透明)到1.0(完全不透明)之间的任意数值。默认值为1.0(完全不透明)。

使用

下面我们通过一个简单的示例来演示如何使用globalAlpha属性。

<!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;"></canvas>

<script>
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");

// 绘制矩形
context.fillStyle = "red";
context.fillRect(10, 10, 50, 50);

// 设置透明度
context.globalAlpha = 0.5;

// 绘制矩形
context.fillStyle = "blue";
context.fillRect(30, 30, 50, 50);
</script>

</body>
</html>

在上面的示例中,我们首先使用fillStyle属性设置绘制颜色为红色,并使用fillRect方法绘制一个矩形。接着,我们使用globalAlpha属性将透明度设置为0.5,并使用相同的方法绘制另一个蓝色的矩形。由于透明度被设置为0.5,所以蓝色矩形的颜色会受到一定程度的混合,呈现出半透明的效果。

注意事项
  • 在调用绘制方法之前必须先设置globalAlpha属性,否则会使用默认值1.0以绘制不透明的内容。
  • globalAlpha属性并不会立即生效,而是会持续作用于之后所有的绘制操作,直到被重新设置。如果需要进行局部的透明度变换,可以通过绘制到一个中间的canvas图像再进行复合的方式来实现。
  • 相对于直接设置颜色,使用globalAlpha属性达到透明效果会稍微耗费更多的计算资源,因此在需要高效绘制图片的情况下可以考虑其他技术。