본문 바로가기
TIL/HTML, CSS, JS 이것저것

JS30 - HTML Canvas

by Dev_Dank 2021. 6. 2.

HTML에 Canvas 기능을 이용하여 화면상에 그림을 표현할수 있다는걸 처음 알게되어 간단히 정리해두려합니다. 

<canvas id="draw" width="800" height="800">this is canvas</canvas>

HTML 캔버스 태그로 특정영역을 지정하면 해당 구역내에서 원하는 도형을 표현할 수 있다. 

 const canvas = document.querySelector("#draw");
 const ctx = canvas.getContext('2d'); //캔버스의 컨텍스트를 가져온뒤
 
  canvas.width = window.innerWidth;
  canvas.height = window.innerHeight; //캔버스 크기를 조절하고
  
  //컨텍스트에서 그려질 내용을 조작한다1(선의 색, 크기...etc). 
  ctx.strokeStyle = '#BADA55';
  ctx.lineJoin = 'round';
  ctx.lineCap = 'round';
  ctx.lineWidth = 100; 
  
  //컨텍스트에서 그려질 내용을 조작한다2(시작점, 도착점, 새로운 도형인지 여부). 
  ctx.beginPath();
  ctx.moveTo(시작x좌표, 시작y좌표);
  ctx.lineTo(도착x좌표, 도착y좌표);
  ctx.stroke(); 

주의 할점은 JS에서 쿼리셀렉터로 가져온후 canvas 태그자체에 그림을 그리는것이 아니라 cansvas가 가지고 있는 컨텍스트를 가져온후 해당 컨텍스트의 메소드를 조작해서 그림을 그리는것이다.
(캔버스태그는 캔버스의 틀이라면 컨텍스트는 틀위에 올려진 그림을그리는 도화지랄까?)

더 자세한 내용은 mdn의 canvas 튜토리얼을 참조하자. 

https://developer.mozilla.org/ko/docs/Web/API/Canvas_API/Tutorial

 

캔버스 튜토리얼 - Web API | MDN

는 HTML 요소 중 하나로서, 스크립트(보통은 자바스크립트)를 사용하여 그림을 그리는 데에 사용됩니다. 예를 들면, 그래프를 그리거나 사진을 합성하거나, 간단한(혹은 복잡할 수도 있는)

developer.mozilla.org

 

'TIL > HTML, CSS, JS 이것저것' 카테고리의 다른 글

JS30-Video Player  (0) 2021.06.12
JS30-Checkboxes  (0) 2021.06.06
JS30 - Playing with CSS Variables and JS  (0) 2021.05.30
JS 30 - Drum Kit  (0) 2021.05.26
Javascript Koans - About Mutability  (0) 2021.05.19

댓글