2012-09-26 17 views

cevap

7

Hayır, yapamazsınız.

Ama imageData alınırken bir bellek içi tuval ile yapılabilir, bu kadar hızlı ve kolay: Her bir tıklama ile inşa etmek zorunda kalmamak için

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); 

Sen theData değişkeni tutabilir.

Görüntü başka bir etki alanından geliyorsa bu işe yaramayacağını unutmayın (ve böylece html dosyanızı http:// yerine file:// kullanarak açarsanız çalışmaz).

+0

İlginç ... Bir görüntünün görüntü verilerini başka bir etki alanından almayı engellemek için nedenleri var? – Shmiddty

+2

Bu, XSS saldırılarını önlemek içindir. [Bu] (http://en.wikipedia.org/wiki/Cross-site_scripting) ve [bu] bölümünü okuyun (https://developer.mozilla.org/en-US/docs/HTTP_access_control). –

+0

Ama bir dizi tamsayı almaya çalışırken ne olabilir? – Shmiddty