Canvas - 錯誤:Tainted canvases may not be exported


記錄日期:2019年6月26日 22點21分

 

Canvas 的內容保存為圖片,但是一直不成功。報錯信息如標題,意思指被污染的畫布不能被導出。

理論上來講,導出為圖片是一定可行的,但是被污染的畫布是不允許被導出的。

問題就在於,什么叫被污染的畫布。

找到官網說明,參考鏈接:https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image

image

圖上划線的部分,為什么要增加這樣的限制,並且說明從其他地方(未經允許跨域的源)獲取的數據加入畫布內容。下面列舉了,如從img和svg元素獲得的內容是不允許的,因為這兩個元素允許使用外部圖片(來源不明),涉及跨域了,所以從這兩個元素導入過內容的畫布,是不能被導出的。

 

項目中,在畫布准備的時候,從img導入了一個准備的圖片,於是畫布被污染了,后面完成時需要導入時,就報錯 “Tainted canvases may not be exported”。

解決方案:不從img導入內容,結果可以正常導出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM