可以说我有:
Img = new Image();
img.src = 'test.png';
有没有办法检查该图像中的像素x= 10; y = 16;
并返回其 RGBA 数据?或者您是否必须创建像素阵列来查询特定像素...我不确定在设置图像 src 时是否创建了像素阵列?
可以说我有:
Img = new Image();
img.src = 'test.png';
有没有办法检查该图像中的像素x= 10; y = 16;
并返回其 RGBA 数据?或者您是否必须创建像素阵列来查询特定像素...我不确定在设置图像 src 时是否创建了像素阵列?
你必须把它画到<canvas>
第一个。这仅在图像来自同一域时才有效(在您给出的示例中)
img = new Image();
img.src = "test.png";
img.onload = function() {
var c = document.createElement('canvas'), d, img = this;
if( c.getContext) {
c.width = img.width;
c.height = img.height;
c = c.getContext("2d");
c.drawImage(img,0,0);
d = c.getImageData(0,0,img.width,img.height);
img.getPixel = function(x,y) {
return d.slice((y*img.width+x)*4,4);
};
}
else {
// canvas not supported, fall back
img.getPixel = function(x,y) {return [0,0,0,0];}
}
};
然后就可以调用图片上的函数了:
alert(img.getPixel(10,16));
// alerts something like 190,255,64,255