2012-11-02 7 views
10

Używam Fabric.js i utworzyłem obiekt płótna tkaniny w jednym miejscu.Zdobądź obiekt canvas podczas korzystania z tkaniny js

var x = new fabric.Canvas("mycanvas"); 

Teraz w innym miejscu chcę uzyskać dostęp do tego obiektu, w którym "x" nie będzie dostępne. Jak mogę uzyskać ten sam obiekt płótna tkaniny?

Nie chcę zmieniać zakresu x lub pass x jako arg.

Również, w jaki sposób uzyskać wartość atrybutu toDataURL z obiektu canvas canvas?

+0

Jeśli nie udostępnisz referencji, nie będzie można uzyskać do niej dostępu. Tak działa zakres. – alex

Odpowiedz

18

Zakładając, że mycanvas jest identyfikatorem elementu Canvas, można przechowywać odwołanie do obiektu tkaniny na elemencie Canvas samego:

var x = new fabric.Canvas("mycanvas"); 
document.getElementById("mycanvas").fabric = x; 

można następnie pobrać ten obiekt w dowolnym momencie z:

var y = document.getElementById("mycanvas").fabric; 
var url = y.toDataURL("png", 1); 
+0

y jest obiektem płótna tkaniny, więc będziesz musiał używać doDataURL w inny sposób [zobacz tę stronę] (http://fabricjs.com/docs/fabric.Canvas.html#toDataURL) – Rotem

Powiązane problemy