有没有办法在没有画布的情况下使用图像的 getImageData ?我想在图像的鼠标位置获得像素颜色。
问问题
11288 次
1 回答
11
不,你不能。
但是可以使用内存中的画布来获取 imageData,这既快速又简单:
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);
您可以保留该theData
变量,这样您就不必在每次点击时都构建它。
请注意,如果图像来自另一个域,这将不起作用(因此,如果您使用file://
而不是打开 html 文件,它将不起作用http://
)。
于 2012-09-26T15:34:11.793 回答