Web 개발에서 도형을 그리는 작업은 여러 가지 라이브러리를 활용할 수 있습니다. 이 중에서 Fabric.js
는 HTML5 캔버스에 그래픽 요소를 그리고 제어할 수 있는 강력한 도구입니다. 이번 글에서는 Fabric.js
를 사용하여 도형의 외부와 내부에 선을 그리는 방법에 대해 알아보겠습니다.
외부 선 그리기
도형의 외부에 선을 그리기 위해서는 Fabric.js
의 fabric.Line
클래스를 사용할 수 있습니다. 이 클래스는 시작점과 끝점을 지정하여 선을 그릴 수 있도록 해줍니다. 다음은 외부 선을 그리는 예제 코드입니다.
const canvas = new fabric.Canvas('canvas');
// 도형 생성
const rect = new fabric.Rect({
left: 100,
top: 100,
width: 200,
height: 100,
fill: 'red',
});
// 외부 선 생성
const line = new fabric.Line([50, 50, 350, 50], {
stroke: 'green',
strokeWidth: 2,
});
// 캔버스에 도형과 선 추가
canvas.add(rect, line);
위의 예제에서 fabric.Line
클래스의 생성자에는 시작점과 끝점의 좌표를 [x1, y1, x2, y2]
형식으로 전달합니다. stroke
속성은 선의 색상을, strokeWidth
속성은 선의 두께를 지정할 수 있습니다.
내부 선 그리기
도형의 내부에 선을 그리기 위해서는 fabric.Polygon
클래스를 사용할 수 있습니다. 이 클래스는 다각형 내부에 선을 그리는 기능을 제공합니다. 아래는 내부 선을 그리는 예제 코드입니다.
const canvas = new fabric.Canvas('canvas');
// 다각형 내부의 선을 그리는 함수
function drawInnerLine(points, color, width) {
const polygon = new fabric.Polygon(points, {
fill: 'yellow',
strokeWidth: 0,
});
const line = new fabric.Path(`M${points[0]} ${points[1]} L ${points[2]} ${points[3]}`, {
stroke: color,
strokeWidth: width,
});
polygon.addWithUpdate(line);
canvas.add(polygon);
}
// 다각형 내부의 선 그리기
drawInnerLine([50, 50, 50, 250], 'blue', 2);
위의 예제에서 drawInnerLine
함수는 fabric.Polygon
클래스를 사용하여 다각형을 그리고, fabric.Path
클래스를 사용하여 선을 그립니다. 선을 다각형에 추가하기 위해서 addWithUpdate
메서드를 사용합니다. 이를 통해 다각형에 선이 추가되어 화면에 표시됩니다.
결론
Fabric.js
를 사용하면 도형의 외부와 내부에 선을 그릴 수 있습니다. 외부 선은 fabric.Line
클래스를 사용하여 그리고, 내부 선은 fabric.Polygon
과 fabric.Path
클래스를 사용하여 그릴 수 있습니다. 이를 통해 다양한 도형을 생성하고 다각형 내부의 선을 그릴 수 있습니다. 자세한 내용은 Fabric.js
의 공식 문서를 참고하시기 바랍니다.
참고 문서: