[javascript] Fabric.js로 객체의 레이어 관리하기

Fabric.js는 HTML5 캔버스를 기반으로 동작하는 자바스크립트 라이브러리로, 웹 애플리케이션에서 그래픽 요소를 생성하고 관리하는 데 사용됩니다. 이번 포스트에서는 Fabric.js를 사용하여 객체의 레이어를 관리하는 방법에 대해 알아보겠습니다.

1. Fabric.js 시작하기

먼저, Fabric.js를 사용하기 위해 CDN을 통해 라이브러리를 불러옵니다. HTML 파일의 <head> 태그 안에 다음 코드를 추가합니다.

<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/4.5.1/fabric.min.js"></script>

2. Fabric.js 객체 생성 및 추가하기

Fabric.js를 사용하여 객체를 생성하려면 fabric.Object 클래스를 확장한 새로운 클래스를 만들어야 합니다. 이 클래스에는 객체를 그리는 방법이나 속성을 정의할 수 있습니다. 예를 들어, 색상이 지정된 원을 만들고 캔버스에 추가하는 코드는 다음과 같습니다.

var canvas = new fabric.Canvas('canvas');

var circle = new fabric.Circle({
  left: 100,
  top: 100,
  radius: 50,
  fill: 'red'
});

canvas.add(circle);

위의 코드에서 fabric.Canvas 클래스를 사용하여 캔버스를 생성하고, fabric.Circle 클래스를 사용하여 원 객체를 생성합니다. 그리고 canvas.add() 메서드를 사용하여 원 객체를 캔버스에 추가합니다.

3. 객체의 레이어 순서 변경하기

Fabric.js를 사용하여 객체의 레이어 순서를 변경할 수 있습니다. canvas.moveTo() 메서드를 사용하여 객체를 앞이나 뒤로 이동시킬 수 있습니다. 예를 들어, 원 객체를 맨 앞 레이어로 이동시키는 코드는 다음과 같습니다.

canvas.moveTo(circle, canvas.getObjects().length - 1);

위의 코드에서 canvas.getObjects() 메서드를 사용하여 캔버스에 있는 모든 객체를 가져온 뒤, canvas.moveTo() 메서드를 사용하여 원 객체를 맨 앞 레이어로 이동시킵니다.

4. 객체의 레이어 순서 확인하기

Fabric.js를 사용하여 현재 객체의 레이어 순서를 확인하는 방법도 있습니다. canvas.getObjects() 메서드를 사용하여 캔버스에 있는 모든 객체를 가져온 뒤, canvas.getObjects().indexOf() 메서드를 사용하여 특정 객체의 인덱스를 확인할 수 있습니다. 예를 들어, 원 객체의 레이어 순서를 확인하는 코드는 다음과 같습니다.

var index = canvas.getObjects().indexOf(circle);
console.log(index);

위의 코드에서 canvas.getObjects().indexOf() 메서드를 사용하여 원 객체의 인덱스를 확인한 뒤, console.log()를 사용하여 결과를 출력합니다.

5. 정리

이번 포스트에서는 Fabric.js를 사용하여 객체의 레이어를 관리하는 방법에 대해 알아보았습니다. Fabric.js를 사용하면 웹 애플리케이션에서 객체의 생성, 추가, 레이어 순서 변경 등을 손쉽게 처리할 수 있습니다. Fabric.js에 대한 자세한 내용은 공식 문서를 참조하시기 바랍니다.