5
Czy istnieje sposób użycia getImageData obrazu bez płótna? Chcę uzyskać kolor piksela na pozycji myszy w obrazie.HTML5 getImageData bez płótna
Czy istnieje sposób użycia getImageData obrazu bez płótna? Chcę uzyskać kolor piksela na pozycji myszy w obrazie.HTML5 getImageData bez płótna
Nie, nie możesz.
Ale coraz imageData mogą być wykonane z płótna w pamięci, to szybkie i proste:
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);
Możesz zachować zmienną theData
tak, że nie trzeba budować go na każde kliknięcie.
Pamiętaj, że to nie zadziała, jeśli obraz pochodzi z innej domeny (a zatem nie będzie działał, jeśli otworzysz plik html przy użyciu file://
zamiast http://
).
Interesujące ... z jakiego powodu muszą blokować uzyskiwanie danych obrazu z innej domeny? – Shmiddty
Ma to zapobiec atakom XSS. Przeczytaj [to] (http://en.wikipedia.org/wiki/Cross-site_scripting) i [to] (https://developer.mozilla.org/en-US/docs/HTTP_access_control). –
Co jednak może się zdarzyć podczas próby pobrania tablicy liczb całkowitych? – Shmiddty