ホームページ  >  記事  >  ウェブフロントエンド  >  HTML5 でキャンバスを画像として保存するにはどうすればよいですか?

HTML5 でキャンバスを画像として保存するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-03 04:04:03581ブラウズ

How to Save a Canvas as an Image in HTML5?

Canvas.toDataURL() を使用してキャンバスを画像として保存する

HTML5 では、キャンバス要素上で画像を作成および操作できます。キャンバスを画像として保存するには、canvas.toDataURL() メソッドを使用します。このメソッドは、指定された画像形式でキャンバス コンテンツの Base64 エンコードされた文字列表現を返します。

ただし、次のコードを使用してキャンバスを画像として保存しようとすると、問題が発生する可能性があります:

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;
}

このコードは、base64 でエンコードされた文字列を適切に処理できないため、失敗します。キャンバスを画像として保存するには、次の拡張コードを使用する必要があります:

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

ここでは、replace() メソッドを使用して、base64 でエンコードされた文字列をオクテット ストリームに変換します。 window.location.href 割り当てと互換性があります。このコードにより、キャンバスが画像としてローカルに正常に保存されるようになりました。

以上がHTML5 でキャンバスを画像として保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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