2011-12-11 5 views
2

html5 캔버스 어떻게 그리기 상태의 캔버스 스택? 각 컨텍스트는 드로잉 상태 스택을 유지합니다. 드로잉 상태는 현재 클리핑 영역 (필요한 경우)과 다른 부분으로 구성됩니다. API는 현재 도면 상태를 가져 와서 스택을 유지 관리하는 save() 및 restore() 메소드 만 제공합니다. 그러나 스택에 많은 드로잉 상태가 저장되어 있고 이전 상태가 아닌 다른 상태로 변경하려는 경우 내가 무엇을 할 수 있을지 ? 배열로 스택을 다루는 방법?html5 캔버스 어떻게 그리는 상태의 캔버스 스택

+0

[fabric.js] (http://kangax.github.com/fabric.js/)와 같은 것을 고려 했습니까? – kangax

답변

0

캔버스에 마우스를 올리면 x 및 y 위치를 저장하는 데 필요한 배열이 다릅니다. 그런 다음 mousedown 이벤트가 발생할 때 이러한 배열의 인덱스를 기록하여 다른 도면을 차별화 할 수 있습니다. 그러한 요구 사항에 대해서는 Here is a tutorial입니다. 이 일련의 mousedown 색인을 사용하여 도면을 실행 취소 할 수도 있습니다.

+0

튜토리얼을 읽었습니다. 클립 기능으로 작성하는 사용자 그리기 전용 주 영역에 있습니다. 내가 드로잉 할 사용자를위한 두 개의 주요 영역이 있다면 save() 및 restore()를 사용하여 영역을 지정할 수 있습니다. 그러나 10 개의 주요 영역이 있고 스택의 두 번째 칩으로 전환하려면 8 회 리스토어 기능을 사용해야하며 칩이 스택의 팝업이기 때문에 반환 할 수 없습니다. 클립을 직접 두 번째 클립으로 전환하고 10 번째로 가져 오는 방법은 무엇입니까? – MikeJohn