我在更新畫布時遇到問題。該代碼託管在http://ssarangi.github.com/nombre/。問題是我正在加載一個紅色圖像,加載完成後,我將圖像轉換爲黃色,並希望將其重新渲染到畫布。getImageData不讀取正確的值&putImageData不更新畫布
// Turn to Yellow
function updateImage() {
// Update the image
var ctx = canvas2d.getContext("2d");
var width = canvas2d.width;
var height = canvas2d.height;
var pixels = ctx.getImageData(0, 0, width, height);
for (var x = 0; x < width; ++x) {
for (var y = 0; y < height; ++y) {
var offset = (y * width + x) * 4;
pixels.data[offset] = 0;
pixels.data[offset+1] = 255;
pixels.data[offset+2] = 255;
pixels.data[offset+3] = 255;
}
}
ctx.putImageData(pixels, 0, 0);
}
但是,ctx不更新像素。然而,在一個簡單的html頁面上做同樣的事情對我來說確實很有用。這個例子雖然啓用了WebGL。有人能指出我正確的方向嗎? 謝謝。
你的鏈接給出了403禁止。請使用正確的URL編輯您的問題,或將您的代碼放入JSFiddle。 – Bojangles 2012-03-22 01:53:37
這很奇怪。我可以從多臺機器上訪問它。即使從我的手機.. – ssarangi 2012-03-22 02:00:25
https://github.com/ssarangi/nombre - 希望你也能從這裏看到問題。 – ssarangi 2012-03-22 02:08:54