这是我的完整代码:
<canvas width="1366" height="768"></canvas>
<script>
var canvas = document.querySelector('canvas');
var ctx = canvas.getContext('2d');
var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
var data = imageData.data;
for (var i = 0; i < data.length; i += 4) {
data[i] = 0;
data[i + 1] = 0;
data[i + 2] = 0;
}
ctx.putImageData(imageData, 0, 0);
</script>
即使我已将每个颜色通道的值设置为0,画布仍然保持白色,就像没有任何更改一样 .
这是网页上唯一的代码,开发人员控制台中没有错误 .
1 回答
如评论中所述,您的Alpha通道很可能是0使画布透明 . 要解决此问题,请在for循环中尝试以下操作: