2010-07-31 2 views
17

Начну с сценарием:Canvas DrawImage используя URL данных


    function saveInstance() { 
    _savedInstance = document.getElementById('canvasID').toDataURL(); 
    } 
    function restoreInstance() { 
    ctx.drawImage(_savedInstance,0,0); 
    } 

Цель состоит в том, чтобы сохранить экземпляр холста и повторно применить его позже [Подобно тому, как ctx.save() сохраняет стиль и преобразования].

Тем не менее, я получил ошибку, которая говорит о несовместимых типах (Неиспользуемая ошибка: TYPE_MISMATCH_ERR: DOM Exception 17). Есть ли какой-либо метод холста, который позволит мне использовать строку URL-данных данных для повторного рисования экземпляра?

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

-Firstmate

ответ

18

Да, вы можете создать элемент изображения с его источником, как _savedInstance, а затем сделать его на холст.

var img = new Image(); 
img.src = _savedInstance; 
ctx.drawImage(img,0,0); 
+1

Да, вы можете также сделать из холста/видео элемента, а также, увидеть спецификации здесь: http://www.whatwg.org/specs/web-apps/current-work/multipage/the- canvas-element.html # dom-context-2d-drawimage – peol

+0

Работал как шарм! И спасибо за ссылку Peol, которая пригодится для другой части проекта XD – Firstmate

+0

См. Также эту проблему в Chrome: http://code.google.com/p/chromium/issues/detail?id=57941 – Vanuan

Смежные вопросы