[javascript] Paper.js를 통한 확대 및 축소 기능 구현

서론

Paper.js는 웹 기반의 벡터 그래픽 라이브러리로, HTML5 캔버스를 통해 다양한 그래픽 요소를 쉽게 생성하고 조작할 수 있습니다. 이번 포스트에서는 Paper.js를 사용하여 확대 및 축소 기능을 구현하는 방법에 대해 알아보겠습니다.

Paper.js 설치

Paper.js를 사용하기 위해서는 먼저 해당 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 Paper.js를 설치합니다.

npm install paper

확대 및 축소 기능 구현하기

Step 1: Paper.js 초기 설정

먼저 Paper.js를 초기화하고 HTML 캔버스에 렌더링할 준비를 해야 합니다. 아래 코드를 사용하여 Paper.js를 초기화합니다.

import paper, { Point, Size } from 'paper';

const canvas = document.getElementById('myCanvas');
paper.setup(canvas);

Step 2: 그래픽 요소 생성

Paper.js를 사용하여 확대 및 축소 기능을 구현하기 위해서는 필요한 그래픽 요소를 생성해야 합니다. 예를 들어, 사각형을 생성하고 화면에 표시할 수 있습니다. 아래 코드를 사용하여 사각형을 생성합니다.

const rectangle = new paper.Path.Rectangle(new paper.Rectangle(new Point(100, 100), new Size(200, 200)));

// 사각형 스타일 설정
rectangle.fillColor = 'red';

Step 3: 확대 및 축소 이벤트 추가

Paper.js를 사용하여 확대 및 축소 이벤트를 추가할 수 있습니다. 아래 코드를 사용하여 마우스 휠 이벤트를 감지하고 확대 및 축소를 구현합니다.

paper.view.on('mousewheel', (event) => {
  const zoomAmount = event.deltaY > 0 ? 0.9 : 1.1; // 확대 및 축소 비율 설정

  // 현재 뷰의 중심 좌표와 줌 비율을 기반으로 확대 및 축소
  paper.view.zoom *= zoomAmount;
  paper.view.center = event.point;
});

결론

Paper.js를 사용하여 확대 및 축소 기능을 구현하는 방법에 대해 알아보았습니다. Paper.js를 활용하면 간편한 벡터 그래픽 조작이 가능하며, 다양한 인터랙티브 요소를 웹페이지에 구현할 수 있습니다. Paper.js와 함께 확대 및 축소 기능을 구현하여 사용자에게 더 편리한 환경을 제공해보세요.

참고 자료