"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué no se dibuja la imagen de mi lienzo? La importancia de la carga de imágenes asíncrona.

¿Por qué no se dibuja la imagen de mi lienzo? La importancia de la carga de imágenes asíncrona.

Publicado el 2024-11-08
Navegar:287

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

Esperando a que se cargue la imagen antes de dibujar

Al intentar agregar una imagen a un lienzo, es crucial asegurarse de que la imagen se cargue antes intentando dibujarlo. El problema que encontró en su código se debe a la naturaleza asincrónica de la carga de imágenes.

Para resolver este problema, debe agregar una función de devolución de llamada al evento de carga de la imagen. Esta función de devolución de llamada se ejecutará cuando la imagen haya terminado de cargarse, lo que garantiza que los datos de la imagen estén disponibles antes de intentar dibujarla.

El código corregido a continuación esperará a que la imagen se cargue antes de dibujarla en el lienzo. :

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);
  };
}
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3