5
Tuvalsiz bir resmin getImageData'sini kullanmanın bir yolu var mı? Bir görüntünün fare konumunda piksel rengine ulaşmak istiyorum.HTML5 getImageData Tuval olmadan
Tuvalsiz bir resmin getImageData'sini kullanmanın bir yolu var mı? Bir görüntünün fare konumunda piksel rengine ulaşmak istiyorum.HTML5 getImageData Tuval olmadan
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çinvar 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).
İlginç ... Bir görüntünün görüntü verilerini başka bir etki alanından almayı engellemek için nedenleri var? – Shmiddty
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). –
Ama bir dizi tamsayı almaya çalışırken ne olabilir? – Shmiddty