¿Hay alguna manera de usar getImageData de una imagen sin el lienzo? Quiero llegar al color de píxel en la posición del mouse de una imagen.HTML5 getImageData sin lienzo
5
A
Respuesta
7
No, no puedes.
Sin embargo, conseguir la propiedad imageData se puede hacer con un lienzo en memoria, que es rápido y fácil:
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);
Es posible mantener la variable theData
de modo que usted no tiene que construirlo en cada clic.
Tenga en cuenta que esto no funcionará si la imagen proviene de otro dominio (y por lo tanto no funcionará si abre su archivo html usando file://
en lugar de http://
).
Cuestiones relacionadas
- 1. HTML5 Canvas getImageData y política de mismo origen
- 2. unidades de lienzo html5
- 3. getImageData siempre devolviendo 0
- 4. Lienzo dentro de lienzo de html5
- 5. HTML5 círculo lienzo texto
- 6. html5 - arrastre un lienzo
- 7. HTML5 Crear dinámicamente lienzo
- 8. inspector de lienzo HTML5?
- 9. Traducir un lienzo html5
- 10. Agregar elementos al lienzo html5
- 11. ¿Desgarro en el lienzo HTML5?
- 12. "googlemaps" arrastrando con lienzo html5
- 13. Impresión de un lienzo html5?
- 14. "Borrado" en el lienzo html5
- 15. posible utilizar imágenes html como canvas con getImageData/putImageData?
- 16. Cómo dibujar polígonos en un lienzo HTML5?
- 17. Similitudes entre el lienzo HTML5 y el lienzo de Android
- 18. Eventos de objeto de lienzo HTML5
- 19. html5 - elemento de lienzo - Varias capas
- 20. lienzo html5 con posición absoluta no funciona
- 21. Cómo deshabilitar seleccionar elemento de lienzo html5
- 22. Redibujar el lienzo de HTML5 increíblemente lento
- 23. Lienzo HTML5: Cómo falsificar globalCompositeOperation = "more-more"
- 24. ¿Cómo hago un lienzo transparente en html5?
- 25. desplazamiento/deslizamiento de fondo en lienzo html5
- 26. HTML5 drawimage de video a lienzo
- 27. Cómo subir imágenes al lienzo de HTML5
- 28. Rectángulo en HTML5 El lienzo está estirado
- 29. adjuntar eventos del teclado al lienzo html5
- 30. HTML5 Trazo del lienzo no suavizado
Interesante ... ¿qué razón tienen para bloquear la obtención de los datos de una imagen de otro dominio? – Shmiddty
Esto es para prevenir ataques XSS. Lea [esto] (http://en.wikipedia.org/wiki/Cross-site_scripting) y [este] (https://developer.mozilla.org/en-US/docs/HTTP_access_control). –
Pero, ¿qué podría pasar al intentar recuperar una matriz de enteros? – Shmiddty