Javascript HTML5 getImageData不带画布

Javascript HTML5 getImageData不带画布,javascript,jquery,html,Javascript,Jquery,Html,有没有一种方法可以在没有画布的情况下使用图像的getImageData?我想获得图像鼠标位置的像素颜色。不,你不能 但获取图像数据可以通过内存画布完成,这既快速又简单: var canvas = document.createElement('canvas'); var context = canvas.getContext('2d'); var img = document.getElementById('someImageId'); context.drawImage(img, 0, 0 )

有没有一种方法可以在没有画布的情况下使用图像的getImageData?我想获得图像鼠标位置的像素颜色。

不,你不能

但获取图像数据可以通过内存画布完成,这既快速又简单:

var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
var img = document.getElementById('someImageId');
context.drawImage(img, 0, 0 );
var theData = context.getImageData(0, 0, img.width, img.height);
您可以保留
数据
变量,这样就不必在每次单击时构建它


请注意,如果图像来自另一个域,这将不起作用(因此,如果您使用
file://
而不是
http://
打开html文件,这将不起作用)。

。。。他们为什么要阻止从另一个域获取图像的图像数据?这是为了防止XSS攻击。读和。但是当试图检索一个整数数组时会发生什么呢?所以。。。这并不是说
getImageData
可能有漏洞,而是防止非法XSS的安全措施更像是一把大锤而不是一把手术刀?getImageData也增加了漏洞。在这种情况下,我认为他们将其包括在内是正确的。