Build a Canvas Drawing App in React with Konva (Drag & Draw Shapes!)
- Konva는 React에서 캔버스에 도형(사각형, 원, 이미지, 텍스트 등)을 그리고 상호작용할 수 있게 해주는 강력한 JavaScript 라이브러리입니다. 🎨
- Vite로 React 앱을 생성하고
react-konva, konva 패키지를 설치하여 개발 환경을 구축합니다. 🛠️
Stage 및 Layer 컴포넌트로 캔버스 영역을 정의하고, 너비, 높이, 배경색 등 기본 스타일을 설정합니다. 🖼️
onMouseDown으로 그리기 시작 지점을 기록하고 isDrawing을 활성화하며, onMouseMove로 도형의 너비와 높이를 실시간 업데이트합니다. 📏
onMouseUp으로 도형 그리기를 완료하고, 완성된 도형을 rectangles 상태 배열에 추가하여 캔버스에 렌더링합니다. ⬆️
- 각 도형에
draggable 속성을 true로 설정하여 사용자가 캔버스 위에서 도형을 자유롭게 이동시킬 수 있습니다. ✋
Stage 컴포넌트의 toDataURL() 메서드를 사용하여 캔버스 내용을 이미지 데이터로 변환하고, 다운로드 버튼을 통해 PNG 파일로 저장할 수 있습니다. 💾
- Konva는 사각형 외에도 원, 이미지, 텍스트 등 다양한 요소를 지원하며, 애니메이션 같은 고급 기능도 구현 가능합니다. ✨