Я создаю редактор диаграмм, и он отлично работает, перетащите & капля, копирование и прошлое все работает нормально. Но у меня есть проблемы с изображениями. У меня есть функция render(), которая запускается каждый раз, когда что-то меняется. Внутри функции рендеринга я вызываю код appendImg. Это срабатывает при первом запуске рендера. Но в следующий раз, и я попаду в блок кода else, изображения не будут отображаться на холсте. У меня есть эта if.else логика, потому что, если я запускаю img.onload каждый раз, когда что-то меняется, изображение загружается каждый раз, и я получаю много мерцания на экране. Насколько я могу выделить drawImage dosend, как это, когда img obj был сохранен с массивом, и я наклоняю, кажется, обнимаю его.HTML5 холст и drawImage
var images = []; //An array where images are stored.
appendImg = function(inx, url, x, y, w, h) {
if (!images[inx]) {
var img = new Image();
img.onload = function()
{
dg_context.drawImage(img, x, y, w, h);
images[inx] = img;
}
img.src = url;
}else{
var img = images[inx];
console.log(img);
dg_context.drawImage(img, x, y, w, h);
}
}
Нет, is'nt это (я попробовать). Но, как я сказал: изображения загружаются при первой загрузке, поэтому они работают внутри .onload. Проблема в том, что похоже, что изображение не загружено, когда im в блоке кода else. Я сделал console.log (img), и он печатает тег с URL-адресом currekt. Но img just issent, нарисованный на последнем drawImage –