Идея моего кода - создать скрытый div, который загружает изображение. Когда это событие загрузки запускается, нарисуйте его на холсте. Когда я запускаю код, я получаю эту ошибку 0x80040111 (NS_ERROR_NOT_AVAILABLE), но я жду события загрузки. Вот мой код.HTMLCanvasContext.drawImage() сбой при передаче найденного изображения с использованием jQuery
HTML
<div id="old-counties-image-wrapper" style="display: none;">
<img border="0" height="390" id="interreg-iiia-old-counties-map" src="/f/MISCELLANEOUS/old-map.jpg" /></div>
<p>
<canvas id="old-counties-image-canvas"></canvas></p>
и Javascript
$('#interreg-iiia-old-counties-map').load(function() {
var canvas=document.getElementById('old-counties-image-canvas');
if (canvas.getContext) {
var ctx=canvas.getContext('2d');
var img=$('#interreg-iiia-old-counties-map');
ctx.drawImage(img, 0, 0);
}
//else {
// $('#old-counties-image-wrapper').show();
//}
});
части иначе закомментирована сейчас, но есть для браузеров, которые не поддерживают холст.
Спасибо, что сработал. Я знаю, что могу сделать это так, но скрытый div есть для другой части (т. Е. Для браузера, который не поддерживает canvas, я могу просто показать скрытый div, и изображение все еще отображается. – Belinda
@ Белинда Ах, конечно. Вы все равно можете вставить изображение в DOM с помощью метода * this *, если поддержка 'canvas' не обнаружена, но я полагаю, что ваш метод будет работать лучше. –