Canvas API
in FRONTEND / Javascript

‘Canvas API를 이용하여 Javascript만으로 그림을 그릴수가 있다.’
JS에서 canvas를 사용해 브라우저에 2D 혹은 3D 그래픽을 그릴 수 있다. html에서는 canvas 한 번 써주는 게 전부이고,나머지 작업은 대부분 js에서 이루어진다.
1. JS에서 canvas 불러오기
const canvas = document.querySelector("canvas");
2. context 작성
context는 캔버스에 그림을 그릴 때 사용하는 붓이다.
canvas.getContext 로 불러온 다음 2d를 선택한다. (주의! d 소문자임)
3. 캔버스 크기 설정
css에서 캔버스 크기 설정을 한 후 js에서도 작성해준다. 이후에는 width 와 height를 js에서만 수정할 것임 (css에서 X)
4. 캔버스 위에 사각형 그리기
canvas 좌표 시스템
캔버스 좌상단이 좌표 0.0, 가로 X, 세로 Y 사각형 채우는 함수 fillRect 작성
ctx.fillRect(x값, y값, w값, h값);
5. 캔버스 위에 원 그리기
ctx.arc(x값, y값, 지름, 시작할 각도, 원이 끝날 각도);
/*
ex)
ctx.arc(250, 100, 50, 0, 2 * Math.PI);
*/
원이 시작하는 각도의 기준은 해당 그림을 참조하면 이해하기 쉽다. 
출처 : https://www.w3schools.com/tags/canvas_arc.asp
기타정보
CanvasRenderingContext2D.rect()
//너비와 높이로 결정되는 크기로 (x, y) 위치에 사각형의 경로를 만듭니다.
CanvasRenderingContext2D.fillStyle
// 도형 내부에 사용할 색상 또는 스타일. 기본 #000(검은색).
CanvasRenderingContext2D.beginPath()
// 하위 경로 목록을 비워 새 경로를 시작합니다. 새 경로를 만들려면 이 메서드를 호출하세요.
기타 정보 출처: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D
moveTo(x, y); // 브러쉬의 좌표를 움직여줌
lineTo(x, y); // 라인을 그려줌
수평인 직선을 그리려면 두 y값이 같아야 한다 라인이 끝난 점이 다음에 시작하는 브러쉬 좌표이다 정리하자면 fillRect = fill+Rect = fill + (moveTo+lineTo)
(연습) 선으로 사각형 그리기
ctx.moveTo(50, 50);
ctx.lineTo(100, 50);
ctx.lineTo(100, 100);
ctx.lineTo(50, 100);
ctx.lineTo(50, 50);
ctx.fill();