2012-11-02 6 views
10

저는 Fabric.js를 사용하고 있으며 한 곳에서 패브릭 캔버스 객체를 만들었습니다.패브릭 js를 사용하는 동안 캔버스 객체 가져 오기

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

이제 다른 장소에서 'x'를 사용할 수없는이 개체에 액세스하고 싶습니다. 그렇다면 어떻게 동일한 패브릭 캔버스 객체를 얻을 수 있습니까?

x의 범위를 변경하거나 x를 arg로 전달하고 싶지 않습니다.

또한 패브릭 캔버스 개체에서 toDataURL을 가져 오는 방법은 무엇입니까? 당신이 원하는 모든 시간을 당신은 그 객체를 검색 할 수 있습니다

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

: mycanvas는 캔버스 요소의 ID가 있다고 가정

+0

참조를 사용 가능하게 설정하지 않으면 액세스 할 수 없습니다. 이것이 범위가 작동하는 방식입니다. – alex

답변

18

, 당신은 캔버스 요소 자체에 직물 개체에 대한 참조를 저장할 수

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

y는 패브릭 캔버스 개체이므로 toDataURL을 다르게 사용해야합니다. [this this] (http://fabricjs.com/docs/fabric.Canvas.html#toDataURL) – Rotem

관련 문제