簡體   English   中英

無法在 JavaScript 中使用 putImageData 更新 HTML5 畫布像素顏色

[英]Unable to update HTML5 canvas pixel color using putImageData in JavaScript

這是我的完整代碼:

<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,畫布仍保持白色,就好像沒有任何變化一樣。

這是網頁上唯一的代碼,開發者控制台中沒有錯誤。

如評論中所述,您的 alpha 通道很可能是 0,使畫布透明。 要解決此問題,請在 for 循環中嘗試以下操作:

for (var i = 0; i < data.length; i += 4) {
   data[i]     = 0;
   data[i + 1] = 0;
   data[i + 2] = 0;
   data[i + 3] = 255;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM