Heim > Web-Frontend > js-Tutorial > Warum erscheint mein Bild nicht auf der HTML5-Leinwand, obwohl mein Code korrekt zu sein scheint?

Warum erscheint mein Bild nicht auf der HTML5-Leinwand, obwohl mein Code korrekt zu sein scheint?

DDD
Freigeben: 2024-10-30 11:02:02
Original
378 Leute haben es durchsucht

Why is my image not appearing on the HTML5 canvas, even though my code seems correct?

Bild auf HTML5-Leinwand zeichnen

Sie versuchen, ein Bild zu einer Leinwand hinzuzufügen, aber es gelingt Ihnen nicht. Lassen Sie uns das Geheimnis hinter diesem schwer fassbaren Unterfangen lüften.

Ihr Code scheint solide zu sein, das Problem muss also woanders liegen. Der entscheidende Schritt, den Sie verpassen, besteht darin, sicherzustellen, dass das Bild geladen ist, bevor Sie versuchen, es zu zeichnen.

Hier ist eine überarbeitete Lösung:

<code class="html"><canvas id="viewport"></canvas></code>
Nach dem Login kopieren
<code class="css">canvas#viewport { border: 1px solid white; width: 900px; }</code>
Nach dem Login kopieren
<code class="javascript">var canvas = document.getElementById('viewport'),
    context = canvas.getContext('2d');

function make_base() {
  var base_image = new Image();
  base_image.src = 'img/base.png';
  base_image.onload = function() {
    context.drawImage(base_image, 0, 0);
  };
}

make_base();</code>
Nach dem Login kopieren

Durch Hinzufügen eines Onload-Ereignisses Wenn Sie sich das Bild anhören, verzögern Sie die Zeichnung, bis das Bild vollständig geladen ist, und stellen so sicher, dass es auf der Leinwand vorhanden ist.

Das obige ist der detaillierte Inhalt vonWarum erscheint mein Bild nicht auf der HTML5-Leinwand, obwohl mein Code korrekt zu sein scheint?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage