目前正在爲我的編碼訓練營項目工作。我試圖在熊的圖像上疊加bandaids,我試圖用畫布檢查他們點擊的區域的顏色,以確保它們不會在實際圖像周圍的白色空間上放置bandaids。在畫布上繪製圖像時如何避免CORS錯誤?
正如你所看到的,我試圖通過在Dropbox上託管圖像,然後使用跨源匿名原始鏈接來解決我的原始污染錯誤。我的老師告訴我試試這個。但是現在,在將圖像繪製到畫布上時出現錯誤。它說:
「來自'https://www.dropbox.com/s/xxb6ndsf71jvy25/myBear.png?raw=1'的重定向已被CORS策略阻止:No'Access-Control-Allow-Origin'標頭存在於請求的資源中,因此不允許Origin'null'訪問。
有人可以幫我解決一個簡單的解決方案嗎?
這裏是我的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:
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);
})
我不跟你是什麼意思?我不是已經在我的html中完成了嗎? – user2807779
是的,你有,我錯過了。然後你必須去選項2. – cyrix