[javascript] Fabric.js로 말풍선 추가하기

Fabric.js는 JavaScript 기반의 오픈 소스 캔버스 라이브러리로, 웹 페이지에 그래픽 요소를 그리고 조작하는 데 사용됩니다. 이번 블로그 포스트에서는 Fabric.js를 사용하여 웹 페이지에 말풍선을 추가하는 방법에 대해 알아보겠습니다.

1. Fabric.js 설치하기

먼저, Fabric.js를 설치해야 합니다. 다음 명령을 사용하여 Fabric.js를 설치합니다.

npm install fabric --save

2. HTML 페이지에 캔버스 추가하기

Fabric.js를 사용하기 위해 HTML 페이지에 캔버스 엘리먼트를 추가해야 합니다. 다음과 같이 <canvas> 엘리먼트를 추가합니다.

<canvas id="canvas"></canvas>

3. JavaScript 코드로 말풍선 추가하기

이제 JavaScript 코드를 사용하여 말풍선을 추가해보겠습니다. 다음과 같이 JavaScript 코드를 작성합니다.

// 캔버스 엘리먼트 가져오기
var canvas = new fabric.Canvas('canvas');

// 말풍선 객체 생성
var bubble = new fabric.IText('말풍선', {
  left: 100,
  top: 100,
  fontSize: 16,
  backgroundColor: 'rgba(255, 255, 255, 0.8)',
  borderColor: 'rgba(0, 0, 0, 0.8)',
  cornerColor: 'rgba(0, 0, 0, 0.8)',
  cornerSize: 8,
  padding: 10
});

// 말풍선 캔버스에 추가하기
canvas.add(bubble);

위 코드에서는 fabric.IText를 사용하여 말풍선 객체를 생성하고, 적절한 속성을 설정한 후, canvas.add() 함수를 사용하여 캔버스에 추가합니다.

4. 캔버스에 이벤트 추가하기

Fabric.js는 다양한 이벤트를 지원하므로, 캔버스에 이벤트를 추가하여 말풍선을 상호작용할 수 있습니다. 예를 들어, 말풍선을 클릭하면 색상이 변경되도록 해보겠습니다.

bubble.on('mousedown', function() {
  bubble.backgroundColor = getRandomColor();
  canvas.renderAll();
});

function getRandomColor() {
  var letters = '0123456789ABCDEF';
  var color = '#';
  for (var i = 0; i < 6; i++) {
    color += letters[Math.floor(Math.random() * 16)];
  }
  return color;
}

위 코드에서는 bubble.on('mousedown', function() {})을 사용하여 말풍선을 클릭했을 때 실행될 콜백 함수를 지정합니다. 이 콜백 함수에서는 getRandomColor() 함수를 사용하여 랜덤한 색상을 설정하고, canvas.renderAll() 함수를 호출하여 변경된 속성을 적용합니다.

마무리

이제 Fabric.js를 사용하여 웹 페이지에 말풍선을 추가하는 방법에 대해 알아봤습니다. Fabric.js는 많은 기능과 유용한 메서드를 제공하므로, 더욱 다양한 그래픽 요소를 추가하고 조작할 수 있습니다. Fabric.js 공식 문서에서 자세한 내용을 확인할 수 있으니 참고하시기 바랍니다.

참고: Fabric.js 공식 문서