본문 바로가기

자바스크립트

캔버스를 활용한 그림판: HTML5 캔버스를 사용하여 그림을 그릴 수 있는 그림판을 만듭니다.

반응형

캔버스를 활용한 그림판을 만드는 방법에 대한 상세한 설명과 예제 코드, 전문 용어 설명, 티스토리에 사용할 한글 태그를 제공합니다.

1. 개념 설명:
캔버스를 활용한 그림판은 HTML5의 <canvas> 요소를 사용하여 웹 페이지에 그림을 그릴 수 있는 기능을 제공합니다. 사용자는 펜, 선, 도형, 색상 등을 선택하여 원하는 그림을 그릴 수 있습니다.

2. 예제 코드:
아래는 HTML, CSS, JavaScript를 사용하여 간단한 캔버스 그림판을 만드는 예제 코드입니다.

<!DOCTYPE html>
<html>
<head>
    <title>캔버스 그림판</title>
    <style>
        canvas {
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <canvas id="drawingCanvas" width="400" height="400"></canvas>
    <button id="saveButton">저장</button>
    <script>
        const canvas = document.getElementById('drawingCanvas');
        const context = canvas.getContext('2d');
        let isDrawing = false;

        canvas.addEventListener('mousedown', () => {
            isDrawing = true;
            context.beginPath();
        });

        canvas.addEventListener('mousemove', (e) => {
            if (!isDrawing) return;
            context.lineWidth = 5;
            context.lineCap = 'round';
            context.strokeStyle = 'black';

            context.lineTo(e.clientX - canvas.getBoundingClientRect().left, e.clientY - canvas.getBoundingClientRect().top);
            context.stroke();
        });

        canvas.addEventListener('mouseup', () => {
            isDrawing = false;
            context.closePath();
        });

        canvas.addEventListener('mouseleave', () => {
            isDrawing = false;
            context.closePath();
        });

        const saveButton = document.getElementById('saveButton');
        saveButton.addEventListener('click', () => {
            const image = canvas.toDataURL('image/png');
            const link = document.createElement('a');
            link.href = image;
            link.download = 'my_drawing.png';
            link.click();
        });
    </script>
</body>
</html>

 


이 코드는 웹 페이지에 캔버스를 생성하고, 사용자가 그림을 그릴 수 있도록 하는 간단한 그림판을 만듭니다.

3. 전문 용어 설명:
캔버스 (Canvas): HTML5에서 제공하는 그래픽 요소로, JavaScript를 사용하여 그림을 그릴 수 있는 영역입니다.
getContext(): 캔버스의 2D 그래픽 컨텍스트를 가져오는 메서드로, 그림을 그리고 스타일을 지정하기 위해 사용됩니다.
mousedown, mousemove, mouseup, mouseleave: 마우스 이벤트로, 사용자의 마우스 동작을 감지하고 그림 그리기 동작을 제어하는데 사용됩니다.

반응형