티스토리 뷰

1. 개념
canvas - 선과 도형 그리기 및 채우기
canvas에서 선과 도형을 그릴 수 있음

속성

설명

beginPath

빈 경로를 새롭게 만듬

stroke

경로가 설정된 도형의 외각선을 그려줌

fill

경로가 설정된 도형의 내부 색을 채워줌

closePath

경로로 만들어진 도형의 끝점과 시점을 직선으로 연결하며 경로를 닫아줌

2. 태그
canvas
html5 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<! DOCTYPE html>
<html lang = "kr" >
<head>
<meta charset = "utf-8" >
<title> 키보드와 하루 </title>
</head>
<body>
<canvas id = "tcanvas" width = "300" height = "200" style =' border : 1px solid #000 '; > </canvas>
<script>
var canvas = document. getElementById ( "tcanvas" );
1
var context = canvas. getContext ( "2d" );
2
context. beginPath (); //빈경로 새롭게 시작
context. moveTo (10,10); //(10,10)을 시작점으로 설정
context. lineTo (50,50); //(10,10) → (50,50) 직선을 경로에 추가
context. lineTo (150,10); //(50,50) → (150,10) 직선을 경로에 추가
context. stroke (); //context의 경로에 있는 도형들을 모두 그림
3
context. beginPath (); //빈경로 새롭게 시작
context. moveTo (200,200); //(200,200)을 시작점으로 설정
context. lineTo (110,110); //(200,200) → (110,110) 직선을 경로에 추가
context. stroke (); //context의 경로에 있는 도형들을 모두 그림
4
context. beginPath (); //빈경로 새롭게 시작
context. fillStyle = "yellow" ; //내부 색깔을 노란색으로 지정
context. moveTo (100,120); //(100,120)을 시작점으로 설정
context. lineTo (50,80); //(100,120) → (50,80) 직선을 경로에 추가
context. lineTo (10,130); //(50,80) → (10,130) 직선을 경로에 추가
context. closePath (); //경로를 닫아줌
context. fill (); //도형 내부의 색깔을 칠해주기
context. stroke (); //context의 경로에 있는 도형들을 모두 그림
</script>
</body>
</html>
결과 화면
코드 설명
1
canvas. getContext ( "2d" );
캔버스 객체로 2차원이나 3차원의 그래픽을 쓸 수 있도록 모두 지원합니다.
여기서는 2차원 그래픽을 사용하겠다고 하면서 2d를 호출하고 있는 것입니다.
그러면 2차원에서 사용될 그래픽 도구를 담아서 context에서 사용할 수 있도록 해줍니다.
2
beginPath ....... stroke
제가 위에서 소스에 주석을 처리해 놓았습니다.
beginPath는 쉽게 말하면 다시 그리기를 시작하는 것입니다
예를 들어서 선 하나를 그리고 다시 다른 쪽에서 선을 그리고자 할 경우에 이 beginPath로 선언을 해주면 새로운 시작을 하게 되는 것입니다
그래서 moveTo로 시작점을 설정해 주고 lineTo를 이용해서 직선을 이용한다고 하면 위에서와 같이 좌표를 구해 직선을 그려주게 됩니다.
3
moveTo ....... stroke
moveTo는 x,y로 시작 좌표를 설정해 주는 것입니다.
캔버스 객체에서 시작 좌표를 어디로 할지 결정하고 거기서 라인을 그릴지 , 원을 그릴지 , 도형을 그릴지가 결정이 되게 됩니다.
4
fillStyle ....... fill,closePath
fillStyle는 외각선이 아닌 내부를 어떠한 색으로 색을 칠하지를 결정해 줍니다.
그리고 moveTo , lineTo 를 통해서 선을 그려주게 됩니다.
특히 여기서 closePath는 경로가 끝났음을 알려주고 도형의 시작점과 끝점을 자동으로 연결해 줍니다.
그리고 fill을 통해서 fillStyle에서 지정한 색을 칠하게 됩니다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday