>웹 프론트엔드 >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)

"오염된 캔버스를 내보낼 수 없음" 오류 해결

canvas.toDataURL()을 사용하여 캔버스를 이미지에 저장하려고 하면 다음과 같은 문제가 발생할 수 있습니다. 오류:

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

원인:

보안상의 이유로 로컬 하드 드라이브는 "다른 도메인"으로 간주되어 캔버스를 오염시킵니다.

해결책:

테스트 중에 다음 해결 방법을 시도해 볼 수 있습니다.

  • 모든 페이지 관련 파일을 바탕 화면에 배치 : HTML, JPG, JS, CSS 등의 모든 파일은 하위 폴더가 아닌 데스크탑에 배치하세요.
  • DropBox.com 또는 GitHub와 같이 도메인 간 공유를 지원하는 사이트에 이미지를 게시하세요. 이미지를 다운로드할 때 DropBox의 공용 폴더에 이미지를 배치하고 교차 출처 플래그(var img=new Image(); img.crossOrigin="anonymous" ...)를 설정했는지 확인하세요.
  • 개발용 컴퓨터에 웹 서버 설치: 예를 들어 IIS와 PHP 웹 서버 모두 로컬 컴퓨터에서 잘 실행되는 무료 버전이 있습니다.

위 내용은 내 캔버스를 이미지로 내보낼 수 없는 이유는 무엇입니까? (오염된 캔버스 오류)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.