1
我有點卡住試圖獲取圖像的像素顏色。我需要獲得一個像素的RGB值,跳轉三並將其存儲在一個數組中,但我的控制檯始終返回[0,0,0 ...]。在JavaScript畫布中獲取圖像的彩色像素
你有什麼想法如何以更好的方式做到這一點?
我的代碼如下所示:
function captureImageData(image)
{
var cnv = document.createElement('canvas');
cnv.width = image.width;
cnv.height = image.height;
var ctx = cnv.getContext('2d');
ctx.drawImage(image, 0, 0);
var imageData = ctx.getImageData(0, 0, 200, 100);
var data = imageData.data;
var height = imageData.height;
var width = imageData.width;
for (var y = 0; y < 100; y += 2)
{
for (var x = 0; x < 200; x += 2)
{
red.push(data[(y * imageData.width + x) * 4 + 0]);
green.push(data[(y * imageData.width + x) * 4 + 1]);
blue.push(data[(y * imageData.width + x) * 4 + 2]);
alpha.push(data[(y * imageData.width + x) * 4 + 3]);
}
}
console.log(red);
}
感謝您的幫助!你的例子完美地工作.. 我想我的錯誤是在我如何加載圖像。我有許多圖像是從XML文件讀取的,我需要加載所有圖像以讀取像素並將其存儲在數組中。我認爲我的錯誤來自於我從XML讀取圖像。 – eledgaar