Si está desarrollando una parte rápida de código localmente y está usando Chrome, hay un problema. si su página se carga usando una URL del formulario "file: // xxxx", entonces el intento de usar getImageData () en el lienzo fallará y arrojará el error de seguridad de origen cruzado, incluso si su imagen se está obteniendo del mismo directorio en su máquina local como la página HTML que representa el lienzo. Entonces, si se obtiene su página HTML, diga:
archivo: // D: /wwwroot/mydir/mytestpage.html
y su archivo Javascript e imágenes se están obteniendo de, digamos:
archivo: // D: /wwwroot/mydir/mycode.js
archivo: // D: /wwwroot/mydir/myImage.png
luego, a pesar del hecho de que estas entidades secundarias se obtienen del mismo origen, el error de seguridad sigue apareciendo.
Por alguna razón, en lugar de establecer el origen correctamente, Chrome establece el atributo de origen de las entidades necesarias en "nulo", lo que hace imposible probar el código que involucra getImageData () simplemente abriendo la página HTML en su navegador y depurando localmente.
Además, establecer la propiedad crossOrigin de la imagen en "anónimo" no funciona, por la misma razón.
Todavía estoy tratando de encontrar una solución para esto, pero una vez más, parece que los implementadores del navegador hacen que la depuración local sea lo más dolorosa posible.
Intenté ejecutar mi código en Firefox, y Firefox lo hace bien, reconociendo que mi imagen es del mismo origen que los scripts HTML y JS. Así que agradecería algunas sugerencias sobre cómo solucionar el problema en Chrome, ya que en este momento, mientras Firefox funciona, su depurador es dolorosamente lento, hasta el punto de estar a un paso de un ataque de denegación de servicio.