"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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.

Publié le 2024-11-08
Parcourir:160

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. :

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);
  };
}
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3