我在这里有这个小提琴:http://jsfiddle.net/R6rGp/

我尝试拾取图像/画布的颜色,但是我总是得到RGB 000。

但显然,该图像没有真正的黑色像素。怎么了

document.getElementById("canvas").onload=function(){
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("canvas");
ctx.drawImage(img,0,0);
var imgData=ctx.getImageData(0,0,c.width,c.height);

red=imgData.data[0];
green=imgData.data[1];
blue=imgData.data[2];
alpha=imgData.data[3];

console.log(red + " " + green + " " + blue + " " + alpha); //always 0 0 0


ctx.putImageData(imgData,0,0);


};

最佳答案

jsfiddle.net不允许跨域数据:

Unable to get image data from canvas because the canvas has been tainted by cross-origin data.

而且您的脚本中似乎还存在另一个问题:

Uncaught Error: SecurityError: DOM Exception 18

08-18 15:32