Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- nextjs사용이유
- 정처기 자격
- IAP
- typeScript
- 정처기 준비물
- 비동기
- 타입스크립트
- HTML
- 불변식
- nextJS
- 빌딩 블록
- nextjs route code
- DDD
- react native 내부 구조
- 정보처리기사
- BOUNDED CONTEXT
- react native bridge
- react natvie
- nextjs 라우팅
- std::char_traits<unsigned char>
- 이벤트 시스템
- rn
- rniap
- TS
- Aggregate
- in app purchase
- 애그리게이트
- 속도개선
- js
- 이펙티브 타입스크립트
Archives
- Today
- Total
nika-blog
Canvas 본문
이번 포스팅에서는 Canvas에 대해서 대략적인 내용을 공부하고
이를 통해 사각형을 만들어 볼 예정입니다.
canvas란?
- HTML 의 태그로, JS를 이용해서 다양한 그래픽 요소를 만들 수 있다.
사용법?
1. DOM 조작이 필요함으로 id 작성이 필요하다.
2. 크기와 높이 설정
-> 설정하지 않으면 기본 300px*150px
<설정방법>
- 태그 속성 이용 (픽셀만 가능)
<canvas id="canvas" width="500" height="500"></canvas>
- DOM 설정 (유동적 값 가능)
canvas.width = 50vw;
canvas.height = 40vh;
// 50vw * 40vh 로 설정됩니다.
canvas.width = innerWidth;
canvas.height = innerHeight;
// 화면 크기에 맞춰서 설정해줄 수도 있습니다.
3. 캔버스에 그래픽 작업을 할 수 있는 속성과 매소드들이 포함된 객체 불러오기
const ctx = canvas.getContext("2d");
Step 1 : Canvas로 사각형 그리기
<색칠된 사각형 그리기>
1. fillStyle 속성으로 사각형 내부를 색칠할 색상 설정
ctx.fillStyle = 'blue'
2. fillRect 이용해 사각형 그리기 (x좌표, y좌표, 가로길이, 세로길이)
ctx.fillRext = (10, 10, 100, 50)
<선으로된 사각형 그리기>
1. lineWidth 속성으로 선의 굴기를, strokeStyle 속성으로 선의 색상 설정
ctx.lineWidth = 5;
ctx.strokeStyle = "black";
2. strokeReck 메소드를 사용해 사각형 그리기(x좌표, y좌표, 가로길이, 세로길이)
ctx.strokeRect(10, 10, 100, 50)
<사각형으로 지우기>
1. clearRect 메소드로 지울 범위 설정
ctx.clearRect( 20, 20, 80, 30)
추가 공부 링크
https://developer.mozilla.org/ko/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes
캔버스(canvas)를 이용한 도형 그리기 - Web API | MDN
앞서 캔버스 환경 설정(canvas environment)을 완료 하였다면, 이제 어떻게 캔버스에 그릴수 있는지에 대하여 자세하게 알아봅시다. 이 글을 끝내고 난 후, 여러분은 어떻게 사각형, 삼각형, 선, 아
developer.mozilla.org
Canvas로 클릭이벤트 만들기
<클릭 위치에 사각형 그리기>
1. 클릭하는 위치 찾기
- 화면 내 마우스 위치 - 화면 내 캔버스 위치
= (event.clientX, event.clientY) - (ctx.canvas.offsetLeft, ctx, canvas.offsetTop) - 또는 (event.offsetX, event.offsetY)
2. 좌표에 사각형 그리기
canvas.onclick = function (event) {
const x = event.clientX - ctx.canvas.offsetLeft
const y = event.clientY - ctx.canvas.offsetTop
// x, y 변수에 방금 구한 좌표를 할당해줍니다.
ctx.fillRect(x - 15, y - 15, 30, 30);
<추가>
그림판만들기 등 애니메이션, 데이터 시각화, 웹 게임 개발 등 다양한 곳에서 사용가능
'FE > JS' 카테고리의 다른 글
javascript 옵셔널 체이닝 (Optional Chaining) (0) | 2025.02.10 |
---|---|
JS - DOM 심화 : createDocumentFragment, template tag, element 와 node 의 차이점, children과 childrenNodes의 차이점offsetTop, ,offsetWidth ,HTML과 DOM 차이 (0) | 2022.02.27 |
JS - DOM 조작 (0) | 2022.02.20 |
프로미스(Promise) (0) | 2021.09.01 |
JS의 동기와 비동기 (0) | 2021.08.30 |