Je travaille actuellement sur un projet pour mon bootcamp de codage. J'essaie de superposer des bandaids sur une image d'un ours et j'essaye d'utiliser la toile pour vérifier la couleur de la zone sur laquelle ils cliquent pour m'assurer qu'ils ne mettent pas des bandaids sur l'espace blanc autour de l'image réelle.Comment éviter l'erreur CORS lors du dessin d'une image sur une toile?
Comme vous pouvez le voir, j'ai essayé de résoudre mon erreur de contamination d'origine en hébergeant l'image sur une boîte de dépôt, puis en utilisant le lien brut d'origine croisée anonyme. Mon instructeur m'a dit d'essayer ça. Cependant maintenant je reçois une erreur pendant le dessin de l'image sur la toile. La redirection de 'https://www.dropbox.com/s/xxb6ndsf71jvy25/myBear.png?raw=1' a été bloquée par la règle CORS: Aucun en-tête 'Access-Control-Allow-Origin' n'est présent sur la ressource demandée, l'origine 'null' n'est donc pas autorisée. "
Quelqu'un peut-il m'aider avec une solution simple?
Voici mon HTML:
<script src="https://code.jquery.com/jquery.js"></script>
<script src="https://www.gstatic.com/firebasejs/live/3.0/firebase.js"></script>
<script type="text/javascript" src="assets/js/app.js"></script>
<canvas id="canvas" width="1331" height="941">Helllo</canvas>
<img src="https://www.dropbox.com/s/xxb6ndsf71jvy25/myBear.png?raw=1" onload="draw()" style="display: none" id="theBear" crossorigin="anonymous">
<img src="assets/images/bandaids/001-medical-3.png" class="bandAids">
<link rel="stylesheet" type="text/css" href="assets/css/style.css">
JavaScript pertinent:
function draw() {
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var img = document.getElementById("theBear");
ctx.drawImage(img,0,0);
console.log("drew image");
};
$(document).on("click","#canvas", function(event) {
var c = this.getContext('2d');
var p = c.getImageData(event.pageX, event.pageY, 1, 1).data;
var hex = "#" + ("000000" + rgbToHex(p[0], p[1], p[2])).slice(-6);
console.log(hex);
database.ref().child("bandAids").push({
xCord: event.pageX,
yCord: event.pageY,
bandAid: myBandAid,
})
console.log(event);
})
Je ne suis pas ce que tu veux dire? N'ai-je pas déjà fait cela dans mon HTML? – user2807779
Oui, vous avez, j'ai raté ça. Ensuite, vous devez opter pour l'option 2. – cyrix