CANVAS 3.1 선그리기, 사각형 그리기



<!DOCTYPE HTML>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>캔버스01</title>
    <script src="http://code.jquery.com/jquery-1.12.4.js"></script>
</head>
<body>
    <canvas id="myCanvas" width="1140" height="1140">canvas를 지원하지 않습니다. - 
                     지원하지 않는 브라우저에서 문구가 보입니다.</canvas>
    <script>
        var canvas = $("#myCanvas").get(0);
        var ctx = canvas.getContext("2d");
        ctx.beginPath();                // 선그리기 시작
        ctx.moveTo(100,50);             // 시작점으로 이동 (사각형 왼쪽 위 모서리)
        ctx.lineTo(300,50);             // 선 위치 이동 (사각형 오른쪽 위 모서리)
        ctx.lineTo(300,200);            // 선 위치 이동 (사각형 오른쪽 아래 모서리)
        ctx.lineTo(100,200);            // 선 위치 이동 (사각형 왼쪽 아래 모서리)
        ctx.lineTo(100,50);             // 선 위치 이동 (사각형 왼쪽 위 모서리)
        ctx.lineWidth = 30;             // 선 두께
        ctx.strokeStyle = "#f10574";    // 선 색상
        ctx.lineCap = "butt";           // 라운드 끝부분 처리 - 기본값 ( 익스에서만 보여짐 )
        ctx.lineJoin = "miter";         // 선의 꺾인 부분 처리 - 기본값 ( 익스, 크롬 보여짐 )
        // ctx.setLineDash([20, 10, 50, 10]);  // 점선 만들기 ([선의넓이, 선의간격, 선의넓이, 선의간격]);
                                            // 익스 지원하지 않음, 이속성을 사용하면 캔버스 전부 안보임
        ctx.stroke();
        ctx.fillStyle = "#ffd1ec";
        ctx.fill();


        ctx.beginPath();
        ctx.moveTo(400,50);
        ctx.lineTo(700,50);
        ctx.lineTo(700,200);
        ctx.lineTo(400,200);
        ctx.lineTo(400,50);
        ctx.lineWidth = 40;
        ctx.strokeStyle = "#211926";
        ctx.lineCap = "round";          // 라운드 끝부분 처리 - 둥글게, 선 두께를 반지름으로
        ctx.lineJoin = "round";         // 선의 꺾인 부분 처리 - 둥글게
        ctx.stroke();
        ctx.fillStyle = "#eaeaea";
        ctx.fill();


        ctx.beginPath();
        ctx.moveTo(800,50);
        ctx.lineTo(1000,50);
        ctx.lineTo(1000,200);
        ctx.lineTo(800,200);
        ctx.lineTo(800,50);
        ctx.lineWidth = 35;
        ctx.strokeStyle = "#8a0dd2";
        ctx.lineCap = "square";         // 라운드 끝부분 처리 - 사각형, 선 두께만큼 길어짐
        ctx.lineJoin = "bevel";         // 선의 꺾인 부분 처리 - 잘려나간 모서리
        ctx.stroke();
        ctx.fillStyle = "#42105f";
        ctx.fill();
    </script>
</body>
</html>


결과 화면


(크롬)



(익스)



'CODING TIP > CANVAS' 카테고리의 다른 글

CANVAS 3.3 원그리기  (0) 2018.02.23
CANVAS 3.2 사각형 그리기  (0) 2018.02.14

+ Recent posts