Estoy escribiendo un script que permite a un usuario ingresar una URL de imagen. Me gustaría dibujarlo en el lienzo, pero solo si la política de CORS me permite hacerlo sin contaminar el lienzo. ¿Existe una forma sencilla de determinar si la imagen mancharía el lienzo sin dibujarla primero en un lienzo?
Dado que se le proporcionó la URL, simplemente puede forzar que crossOrigin de crossOrigin se establezca en "anonymous" . Si la imagen se carga, no manchará su lienzo*, si se activa su evento de error... no podrá dibujarla.
*Bueno, hay un caso en el que esto aún podría suceder: si la imagen representa otra amenaza de seguridad para el navegador, por ejemplo, imágenes svg con <foreignObject> en Safari. Para estos casos extremos, dibujar en un lienzo 1x1 es la única forma de saberlo.