Это могло быть одно из двух. Наиболее вероятная проблема заключается в том, что изображение еще не загружено, прежде чем вы попытаетесь его нарисовать. Чтобы исправить это, добавьте прослушиватель событий onload
к элементу img
, чтобы рисовать его после загрузки изображения.
Другая проблема может заключаться в том, что, поскольку элемент img
установлен на display: none
браузер вообще не загружает изображение . В зависимости от браузера он может загружаться или не загружаться. Если вы не хотите, чтобы изображение отображалось, лучшим подходом было бы создать его через JavaScript.
var map = new Image();
map.onload = function() {
var c = document.getElementById("canvas");
var ctx = c.getContext("2d");
ctx.drawImage(map, 20, 20);
};
map.src = 'mapfinal.png';