亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.

Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data. 報這個錯 怎么解決

正在回答

11 回答

按照樓上的說法,把圖片轉換成base64就可以了

0 回復 有任何疑惑可以回復我~

把圖片轉成 base64 就不考慮跨域問題了??梢酝瓿山酉聛淼膶W習

1 回復 有任何疑惑可以回復我~

目前找到的最簡單的自建 webserver 的方法就是用 python

1、安裝:linux和mac都自帶python。windows需要安裝一下,到 https://www.python.org/downloads/?下載一個 2.7版,安裝。

2、運行:安裝完成后,進入命令行,cd到html文件所在的目錄,運行:

python?-m?SimpleHTTPServer?8000

(末尾的四位數字是端口號,如果發現沖突修改成別的數字即可,比如 9876 之類的)

3、使用:打開瀏覽器,訪問?http://localhost:8000/? 即可。

(如果第二步里修改了端口號,地址欄后面輸入同樣的端口號,例如?http://localhost:9876/?)

0 回復 有任何疑惑可以回復我~

如果你使用的是本地圖片,就要在服務器環境下運行代碼;

如果是網絡圖片,就添加 img.crossOrigin = "Anonymous";? 這是設置圖像的跨域屬性



1 回復 有任何疑惑可以回復我~

Edge可以顯示

0 回復 有任何疑惑可以回復我~

因為在canvas上放置了一張跨域的圖片。

一旦canvas發現你繪制了一張跨域的圖片時,它就會認為此時的畫布是"tainted"、被污染的,從而不允許你操作該圖片的像素,從而防止多種類型的XSS/CSRF攻擊。

解決此問題的辦法是在服務器的環境下來運行代碼。


0 回復 有任何疑惑可以回復我~

對圖片進行base64編碼

image.src="base64?code"


1 回復 有任何疑惑可以回復我~

我也遇到同樣的問題不會解決呢。。。

0 回復 有任何疑惑可以回復我~

@ 是個跨域的問題,死翹翹了,不會解決,要本地搭服務器,臣妾做不到啊

0 回復 有任何疑惑可以回復我~

我也碰到同樣的問題,我使用的是本地的圖片,非網上的圖片

0 回復 有任何疑惑可以回復我~
首頁上一頁12下一頁尾頁

舉報

0/150
提交
取消
Canvas玩轉圖像處理
  • 參與學習       60392    人
  • 解答問題       127    個

canvas系列第三課,學會編寫圖像算法,一起玩轉圖像處理吧

進入課程

Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號