【发布时间】:2011-11-15 23:22:29
【问题描述】:
我需要从图像中采样像素颜色,但似乎我无法正确处理。我加载图像并将其绘制到屏幕外画布上,然后尝试对像素颜色进行采样,但我总是得到 0 值。
我的代码:
// Create canvas and set context
var canvas = document.createElement('canvas');
canvas.width = 8;
canvas.width = 8;
var context = canvas.getContext('2d');
// Setup image
var image = new Image();
image.src = 'img.png';
image.onload = function(){
context.drawImage(image, 0, 0);
}
// Sample a random pixel from the canvas
var x = Math.floor(Math.random()*8);
var y = Math.floor(Math.random()*8);
var pixelInfo = context.getImageData(x,y,1,1);
var rgbaVal = pixelInfo.data;
alert('Image: '+image.src+'\n\nR: '+rgbaVal[0]+'\nG: '+rgbaVal[1]+'\nB: '+rgbaVal[2]+'\nA: '+rgbaVal[3]+'\n\nCoords: '+x+', '+y);
我没有收到任何错误,如果我尝试在屏幕画布上绘制图像,图像会正确绘制。我找不到问题
【问题讨论】:
标签: javascript image html canvas sample