ホームページ  >  記事  >  ウェブフロントエンド  >  Canvas.toDataURL() が画像を保存しないのはなぜですか?

Canvas.toDataURL() が画像を保存しないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-02 22:59:02330ブラウズ

Why is my canvas.toDataURL() not saving my image?

canvas.toDataURL() による画像保存の問題の解決

canvas.toDataURL() を利用してキャンバスを画像として保存しようとした場合問題が発生する可能性があります。この状況に対処する方法は次のとおりです。

問題と解決策

問題:

次のとおりです。キャンバス画像を保存するためのコードですが、機能しません:

// Canvas named "canvasSignature"

JavaScript:

function putImage() {
  var canvas1 = document.getElementById("canvasSignature");
  if (canvas1.getContext) {
    var ctx = canvas1.getContext("2d");
    var myImage = canvas1.toDataURL("image/png");
  }
  var imageElement = document.getElementById("MyPix");
  imageElement.src = myImage;
}

HTML5:

<div id="createPNGButton">
  <button onclick="putImage()">Save as Image</button>
</div>

解決策:

画像をバイナリ ストリームに変換するステップが欠落していますコード。コードを次のように変更します:

var image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");

window.location.href = image; // Save locally

このコードは、画像をバイナリ ストリームに変換し、ファイルとして扱うことで、画像をローカルに保存できます。

以上がCanvas.toDataURL() が画像を保存しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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