我正在尝试使用此答案(http://goo.gl/9OZp1P)中提供的示例获取图像 X、Y 像素颜色。
$('#map').mousemove(function(e) {
if(!this.canvas) {
this.canvas = $('<canvas/>').css({width:this.width + 'px', height: this.height + 'px'})[0];
this.canvas.getContext('2d').drawImage(this, 0, 0, this.width, this.height);
}
var pixelData = this.canvas.getContext('2d').getImageData(event.offsetX, event.offsetY, 1, 1).data;
console.log(pixelData);
$('#output').html("X coordinate: "+event.offsetX+"<br>Y coordinate: "+event.offsetY+"<br>RED: "+pixelData[0]);
});
已复制代码,但它仅在左上角显示图像的某些部分的颜色,其他一切都是零(对于 RGB)。我做错了什么?
由于 Fidle 不允许上传图像并且不允许从不同主机抓取图像的颜色,请在此处找到实时代码:http ://wilkas.comxa.com/pixel_info.html
在 Fidle 上复制:http: //jsfiddle.net/wilkas/MWa3k/(在不同的主机上无法正常工作)。