«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему мое изображение на холсте не рисуется? Важность асинхронной загрузки изображений.

Почему мое изображение на холсте не рисуется? Важность асинхронной загрузки изображений.

Опубликовано 8 ноября 2024 г.
Просматривать:866

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

Ожидание загрузки изображения перед рисованием

При попытке добавить изображение на холст крайне важно убедиться, что изображение загружено перед рисованием пытаюсь это нарисовать. Проблема, с которой вы столкнулись в своем коде, связана с асинхронным характером загрузки изображения.

Чтобы решить эту проблему, вам необходимо добавить функцию обратного вызова в событие загрузки изображения. Эта функция обратного вызова будет выполнена после завершения загрузки изображения, гарантируя, что данные изображения доступны, прежде чем вы попытаетесь его нарисовать.

Исправленный код ниже будет ждать загрузки изображения, прежде чем рисовать его на холсте. :

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);
  };
}
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3