2010-07-31 16 views
17

kullanarak Senaryonun başlayacağız:Tuval drawImage veri URL


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

amacı tuval bir örneğini kaydetmek ve ctx.save() kaydeder nasıl sonradan [Benzer yeniden uygulamaktır stil ve dönüşümler]. Ancak, uyumsuz türler (Hatasız Hata: TYPE_MISMATCH_ERR: DOM Özel Durum 17) yazarken hata aldım. Örneği yeniden çizmek için veri URL dizesini kullanmama izin verecek herhangi bir tuval yöntemi var mı?

** Bu kaydetme/geri yükleme fikrini uygulamak için daha iyi bir yol varsa, bu da çok takdir edilecektir.

-Firstmate

cevap

18

Evet, _savedInstance olarak kaynağı ile bir görüntü öğesi oluşturmanıza ve tuvale çizebilirsiniz.

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

Evet, ayrıca, hem de bir tuval/video öğesine çizmek burada spec görebilirsiniz: http://www.whatwg.org/specs/web-apps/current-work/multipage/the- canvas-element.html # dom-context-2d-drawimage – peol

+0

Bir çekicilik gibi çalıştım! Ve projenin XD – Firstmate

+0

projesinin başka bir kısmı için kullanışlı olan Peol bağlantısı için teşekkürler. Ayrıca Chrome'daki bu sorunu da inceleyin: http://code.google.com/p/chromium/issues/detail?id=57941 – Vanuan