Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   canvas + preloadImage ?? (https://javascript.ru/forum/dom-window/31042-canvas-preloadimage.html)

czp 24.08.2012 14:12

canvas + preloadImage ??
 
подскажите как сделать предзагрузку картинок?делаю небольшую анимашку на канвасе, не получается,что у меня выходит, примерно так

img = new Image();
img.src = 'my_img.png'; 

img.onload = function () {
  canvas.drawImage(img, 1, 1 ,32, 32, 32, 32, 32, 32);
}

в инете читал про первые 2 строки, что это неправильная предзагрузка картинок, ничего оно не предзагружает.

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

есть какой то вариант, что бы действительно картинки загрузились, а я потом просто их подставлял для прорисовки? (без onload, в самой функции прорисовки)

melky 24.08.2012 15:49

Цитата:

Сообщение от czp
в инете читал про первые 2 строки, что это неправильная предзагрузка картинок, ничего оно не предзагружает.

покажите нам этого негодяя. его надо отправить на костёр.

смотрите внимательно в консоль - картинка загружается :
var img = new Image();
img.src = "http://javascript.ru/forum/images/ca_serenity/statusicon/user_online.gif";



Цитата:

Сообщение от czp
есть какой то вариант, что бы действительно картинки загрузились, а я потом просто их подставлял для прорисовки? (без onload, в самой функции прорисовки)

картинка по-любому должна загрузиться. Если она находится в кэше, то время загрузки ~1ms. В любом случае, нужно ловить событие load.

Вы как картинки рисуете ? каждый раз загружаете, что-ли ?


Часовой пояс GMT +3, время: 21:28.