Maison > interface Web > js tutoriel > Pourquoi mon image sur toile ne s'affiche-t-elle pas ? L'importance du chargement d'images asynchrone.

Pourquoi mon image sur toile ne s'affiche-t-elle pas ? L'importance du chargement d'images asynchrone.

Susan Sarandon
Libérer: 2024-10-30 12:32:52
original
548 Les gens l'ont consulté

Why Does My Canvas Image Not Draw? The Importance of Asynchronous Image Loading.

Attendre le chargement de l'image avant de dessiner

Lorsque vous essayez d'ajouter une image à un canevas, il est crucial de vous assurer que l'image est chargée avant essayer de le dessiner. Le problème que vous avez rencontré dans votre code est dû à la nature asynchrone du chargement de l'image.

Pour résoudre ce problème, vous devez ajouter une fonction de rappel à l'événement onload de l'image. Cette fonction de rappel sera exécutée une fois le chargement de l'image terminé, garantissant que les données de l'image sont disponibles avant d'essayer de la dessiner.

Le code corrigé ci-dessous attendra que l'image se charge avant de la dessiner sur le canevas. :

<code class="js">var canvas = document.getElementById('viewport'),
    context = canvas.getContext('2d');

make_base();

function make_base() {
  base_image = new Image();
  base_image.src = 'img/base.png';
  base_image.onload = function() {
    context.drawImage(base_image, 100, 100);
  };
}</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal