Показать сообщение отдельно
  #1 (permalink)  
Старый 19.01.2015, 11:20
Интересующийся
Отправить личное сообщение для ssadfaf Посмотреть профиль Найти все сообщения от ssadfaf
 
Регистрация: 28.12.2014
Сообщений: 20

Как получить ссылку на объект, содержащий DataURL?
Не уверен, что правильно сформулировал вопрос.
Для дерева нарисовал кучу иконок в канвасе и закинул их в объект, примерно так:
var imgFromCnvs = NewElem.toDataURL("image/png");
var ElemIdName = 'treeVLineLast';
treeEl.imgs[ElemIdName]=imgFromCnvs;

А потом вот так отображаю их на странице:
NewElem.style.backgroundImage = 'url("'+treeEl.imgs.treeVLineLast+'")';

Потом заглянул в консоль браузера и ужаснулся. Получается, что я многократно (сотни или даже тысячи раз) дублирую эти картинки, вместо того, чтобы использовать ссылку на объект. Собственно, тут и пришло понимание, что dataURL - это данные, которые можно использовать как ссылку. Но от этого легче не стало.
Подумывал разместить картинку на странице и сделать display:'none', но src картинки тот же, так что не вариант.
Почему я не использую канвас напрямую?
Идея была такая: при загрузке страницы наделать картинок и отложить канвас в сторону, далее оперировать картинками, сохранёнными в объекте.
Ответить с цитированием