HTML5 강좌 11강 - HTML5 태그 - canvas 베지에곡선, 선 스타일

 

*bezier curve(베지에 곡선)

베지에 곡선은 말그대로 '휘어진 선' 입니다.

제어점과 종료점을 이용하여 선을 휘어지게 합니다.

사용법은 다음과 같습니다.

(1)2차 베지에 곡선

quadraticCurveTo(제어점x, 제어점y, 종료점x, 종료점y)

(2)3차 베지에 곡선

bezierCurveTo(제어점x1, 제어점y1, 제어점x2, 제어점y2, 종료점x, 종료점y)

 

먼저 2차 베지에 곡선을 테스트 해보겠습니다.

 

 

01.jpg

 

 

 

시작점을 지정하고, 제어점을 지정해주면 그 폭에 따라 선이 휘어집니다.

그리고 종료점까지 이어지죠.

 

context.moveTo(50, 50); 

context.quadraticCurveTo(200, 200, 400, 50); 

context.stroke();

 


02.jpg

 

 

 

이번엔 3차 베지에 곡선을 테스트 해보겠습니다.

 

 

03.jpg

 

 

 

2차 베지에 곡선과 달리 제어점이 두 개 입니다.

 

context.beginPath();

context.moveTo(50, 50); 

context.bezierCurveTo(70, 200, 150, 200, 200, 50);

context.stroke();

 

 

04.jpg

 

 

 

이렇게 그린 선에 스타일을 지정할 수 있습니다.

 

*선 스타일 지정하기

(1)lineWidth

선 두께 지정 (기본 1.0)

(2)lineCap

선 끝부분의 스타일 지정 (butt, round, square)

(3)lineJoin

선이 꺾이는 부분의 스타일 지정 (bevel, round, miter)

(4)strokeStyle

선 색 지정

 

context.lineWidth = 25;

context.strokeStyle = '#00FF00';

context.lineCap = 'round';

context.lineJoin = 'miter';

context.stroke();

 

 

05.jpg

 

 

 

여러가지 속성값을 변경해가며 테스트를 해보세요 :)

 

 

 

(예제는 첨부파일에서 받을 수 있습니다.)

 

11.zip

번호 제목 글쓴이 날짜 조회 수
128 Web Speech API Example (HTML5 STT & TTS) file 황제낙엽 2025.04.14 731
127 모바일과 데스크톱을 포괄하는 사용자의 터치 이벤트(onPointerTap) 황제낙엽 2025.04.09 648
126 Web RTC 에 관하여 황제낙엽 2024.11.20 626
125 div와 span의 차이점 (from Bing) 황제낙엽 2023.06.16 685
124 flexbox (flexible box layout) 황제낙엽 2023.02.27 641
123 characters from ISO 8859-1 황제낙엽 2020.11.10 36946
122 HTML FRAMESET 태그 예제 황제낙엽 2020.11.06 718
121 스마트 기기에서 여러 단말기의 해상도에 대응하기 위해 사용하는 HTML viewport meta tag 황제낙엽 2020.11.06 644
120 네이버의 무료 나눔 글꼴 황제낙엽 2020.05.06 1762
119 서버의 이미지나 txt 파일을 웹브라우저에서 다운로드하기 황제낙엽 2019.05.13 867
118 When to encode space to plus (+) or %20? (application/x-www-form-urlencoded) 황제낙엽 2019.04.15 917
117 HTTP/2 소개 황제낙엽 2018.10.12 693
116 글자, 문자, 텍스트, 글꼴, 서체, 폰트와 관련한 속성들 / font-size , 크기 단위(em, px, pt, rem), 절대 단위, 상대 단위 황제낙엽 2018.04.18 842
115 Pragma와 Cache-Control 황제낙엽 2018.03.28 845
114 로드밸런싱(L4)+아파치를 운영시 etag제거로 캐시 성능 최적화 file 황제낙엽 2018.03.28 944
113 HTTP 요청 헤더 III - If-Match, If-Modified-Since, If-None-Match file 황제낙엽 2018.03.27 726
112 재미난 로그인 페이지 만들기 file 황제낙엽 2018.03.26 1592
111 HTTP Cache-Control 요청 지시어 황제낙엽 2018.03.09 713
110 내 웹사이트의 속도를 빠르게! file 황제낙엽 2018.03.07 859
109 성능을 위한 초간단 HTTP 304 Not Modified 구현 방법 file 황제낙엽 2018.03.07 816