ホームページ >ウェブフロントエンド >jsチュートリアル >キャンバスを画像としてエクスポートできないのはなぜですか? (汚染されたキャンバスエラー)

キャンバスを画像としてエクスポートできないのはなぜですか? (汚染されたキャンバスエラー)

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-08 11:16:12261ブラウズ

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" ...) を設定してください。
  • 開発マシンに Web サーバーをインストールします。たとえば、IIS と PHP Web サーバーは両方とも、ローカル マシンで適切に動作する無料バージョンを持っています。

以上がキャンバスを画像としてエクスポートできないのはなぜですか? (汚染されたキャンバスエラー)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。