2012-09-26 101 views

回答

7

不,你不能。

但得到的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://而不是http://打開您的html文件,它將不起作用)。

+0

有趣的是,他們有什麼理由阻止從另一個域獲取圖像的圖像數據? – Shmiddty

+2

這是爲了防止XSS攻擊。閱讀[this](http://en.wikipedia.org/wiki/Cross-site_scripting)和[this](https://developer.mozilla.org/en-US/docs/HTTP_access_control)。 –

+0

但嘗試檢索整數數組時可能發生什麼? – Shmiddty