Heim >Web-Frontend >js-Tutorial >Warum speichert mein canvas.toDataURL() mein Bild nicht?

Warum speichert mein canvas.toDataURL() mein Bild nicht?

Linda Hamilton
Linda HamiltonOriginal
2024-11-02 22:59:02392Durchsuche

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

Beheben von Problemen beim Speichern von Bildern mit canvas.toDataURL()

Beim Versuch, canvas.toDataURL() zum Speichern einer Leinwand als Bild zu verwenden , können Sie auf Schwierigkeiten stoßen. So gehen Sie die Situation an:

Probleme und Lösungen

Probleme:

Das Folgende ist der Code zum Speichern des Leinwandbildes, aber er funktioniert nicht:

// 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>

Lösung:

Der Schritt zum Konvertieren des Bildes in einen Binärstream fehlt in der Code. Ändern Sie den Code wie folgt:

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

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

Der Code kann das Bild lokal speichern, indem er es in einen Binärstream konvertiert und als Datei behandelt.

Das obige ist der detaillierte Inhalt vonWarum speichert mein canvas.toDataURL() mein Bild nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn