canvas
태그를 사용하면 선, 면, 원 등 여러가지를 만들 수 있다.
그렇다면 모서리가 둥근 사각형은 어떻게 만들 수 있을까?
이번 시간에는quadraticCurveTo
를 사용하여 둥근 모서리를 만들어보자!
1. quadraticCurveTo?
둥근모서리 사각형을 만들기에 앞서, quadraticCurveTo에 대해 간단히 알아보자.
quadraticCurveTo
는 2차 곡선을 만들 때 사용하는 함수이다.조절점
을 기준으로끝점
이 (x,y)인 베지어 곡선을 그린다.
quadraticCurveTo
을 사용하면 둥근 사각형을 만들 수 있다.
2. 둥근 모서리를 위한 규칙
width(너비)
,height(높이)
,radius(둥근모서리)
,x&y(시작점)
변수가 있다. 이 변수를 사용하여 오른쪽 둥근 모서리를 그리는 모습을 살펴보자!
A. 예시 보기
a. 먼저, (x+width-radius, y)
까지 선을 그린다.
b. (x+width, y)
을 기준으로 끝점이 (x+width, y+radius)
인 2차 곡선을 생성한다.
위 설명을 실제 코드로 보면 아래와 같다.
ctx.lineTo(x+width-radius, y) //a
ctx.quadraticCurveTo(x+width, y, x+width, y+radius) //b
B. 필요한 데이터 보기
- 만약 여러분들이 네 모서리가 모두 둥근 사각형을 만들려면 아래와 같은 데이터가 필요하다.
- 하얀색 박스부분이
lineTo
를 사용하여 이동해야할 점이며, quadraticCurveTo(빨간박스[기준], 보라색박스[끝점])
을 사용해 2차곡선을 그리면 된다.
3. 만들어보기
- 너비 200, 높이 50인 둥근 모서리 사각형을 만들어보자.
- 필요한 점 데이터들은 아래와 같다.
- 위 그림을 코드로 표현하면 아래와 같다.
See the Pen 둥근모서리 by KumJungMin (@kumjungmin) on CodePen.
출처
아래 링크를 가면 많은 정보를 얻을 수 있지~
반응형
'개발 기술 > 사소하지만 놓치기 쉬운 개발 지식' 카테고리의 다른 글
객체 배열, autocomplete 미작동, 이벤트 제어, input 디자인 제거 (0) | 2021.09.12 |
---|---|
js 코드를 더 짧게 써보자 (0) | 2021.09.12 |
input에 입력된 숫자에 콤마 찍기 (0) | 2021.09.12 |
특정 길이의 배열 가져오기, 가변인자 받기, console.table 등 (0) | 2021.09.12 |
gif hover 재생 이벤트 만들기 (0) | 2021.09.12 |
댓글