HTML5 강좌 8강 - HTML5 태그 - canvas 선그리기

 

지난 강좌에 이어 canvas 에서 선그리기를 연습해 보겠습니다.

선그리기의 순서는 다음과 같습니다.

 

1. 패스를 초기화한다.

2. 패스를 지정한다.

3. 지정한 패스를 그리기/채우기 메소드를 사용하여 선/도형을 그린다.

4. 지정한 패스를 닫는다.

5. 선을 출력한다.

 

그러면 선그리기 메소드에 대해 알아보죠.

*beginPath( )

선그리기 패스를 지정하고 초기화를 합니다.

이전까지 그렸던 패스는 모두 리셋하고 새로운 패스를 그린다는 의미입니다.

*moveTo(x, y)

시작점을 지정합니다.

*lineTo(x, y)

시작점 위치에서 지정한 위치 (x, y)까지 선을 그립니다.

*stroke( )

선을 출력합니다.

*fill( )

색을 채웁니다.

*closePath( )

패스를 닫습니다.

 

예제를 통해 테스트를 해보겠습니다.

 


01.jpg

 

 

 

위와 같이 코딩을 하고 테스트를 해보죠.

 

 

02.jpg

 

 

 

이 뿐만 아니라 연속으로 선을 이어서 그릴수도 있습니다.

 

 

03.jpg

 

 

 

위와 같이 코드를 추가했습니다.

 

 

04.jpg

 

 

 

선이 이어서 그려지는 것을 볼 수 있습니다.

추가적으로 선의 스타일을 설정해보겠습니다.

 

 

05.jpg

 

 

 

위와같이 선의 스타일을 잡아주고 테스트를 해보겠습니다.

 

 

06.jpg

 

 

 

*context.lineWidth = "15";

선의 굵기를 설정합니다.

*context.strokeStyle = "#ff0000";

선의 색상을 설정합니다.

*context.lineCap = "square"; 

선의 모양을 설정합니다.

round, butt, square 가 있습니다.

 

round, butt 두 종류는 직접 테스트를 해보세요 :)

 

 

 

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

 

08.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