首頁 >web前端 >js教程 >為什麼我無法將畫布匯出為圖像? (被污染的畫布錯誤)

為什麼我無法將畫布匯出為圖像? (被污染的畫布錯誤)

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-08 11:16:12260瀏覽

Why Can't I Export My Canvas as an Image? (Tainted Canvases Error)

Resolving "Tainted Canvases May Not Be Exported" Error

When attempting to save a canvas to an image using canvas.toDataURLan, you f.to error:

Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.

原因:

出於安全考慮,本地硬碟被視為 "other-domain",這會污染 canvas。

解決方案:

在測試期間,可以嘗試以下解決方法:

  • 將所有頁面相關文件放在桌面上:將所有的HTML、JPG、JS、CSS 等檔案放置在桌面上,而不是子資料夾中。
  • 將圖片發佈到支援跨網域共享的網站:例如 DropBox.com 或 GitHub。確保將圖像放在 DropBox 的公共資料夾中,並在下載圖像時設定跨域標誌(var img=new Image(); img.crossOrigin="anonymous" ...)。
  • 在開發電腦上安裝 web 伺服器:例如 IIS 和 PHP web 伺服器都具有免費版本,可以在本機電腦上運作良好。

以上是為什麼我無法將畫布匯出為圖像? (被污染的畫布錯誤)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn