我一直在玩 HTML canvas
,最近开始使用context.globalAlpha
. 我认为编写一个小脚本来自动淡出图像会很有趣。在图像的左侧,globalAlpha
将是 1(完全不透明),在最右侧globalAlpha
将是 0(完全透明)。
我尝试对源图像进行 1 像素宽的切片并将其设置globalAlpha
为逐渐减小的数字:
fadeCtx = fadeCanvas.getContext('2d');
for (var i = 0; i < sourceImage.width; i++) {
fadeCtx.globalAlpha = (sourceImage.width - i) / sourceImage.width;
console.log(fadeCtx.globalAlpha);
fadeCtx.drawImage(sourceImage, i, 0, i + 1, sourceImage.height, i, 0, i + 1, sourceImage.height);
}
但这似乎没有效果。图像被绘制在适当的位置,但它始终是完全不透明的。
我是否缺少有关如何设置不透明度的信息?正如您在小提琴中看到的那样,我已经成功设置globalAlpha
了整个图像。只是当我尝试绘制“图像切片”时,它似乎没有效果。