HTML5 강좌 13강 - HTML5 태그 - 그림자스타일,도형합성하기

 

*그림자 스타일 지정하기

그림자 스타일을 지정하기 위해 다음과 같은 속성을 사용합니다.

(1)shadowColor

그림자 색깔 지정 (기본 값: 투명)

(2)shadowOffsetX

대상을 기준으로 그림자의 X 좌표 지정 (기본 값: 0)

(3)shadowOffsetY

대상을 기준으로 그림자의 Y 좌표 지정 (기본 값: 0)

(4)shadowBlur

그림자의 흐린 정도 지정 (기본 값: 0)

 

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

 

context.shadowOffsetX = 10; 

context.shadowOffsetY = 10; 

context.shadowColor = '#474747'; 

context.shadowBlur = 1; 

context.fillStyle = "#000000";

context.fillRect(120, 120, 100, 100);

 

shadowOffsetX와 shadowOffsetY를 이용해 원본에서의 간격을 설정합니다.

shadowColor를 이용해 그림자의 색상을 지정하고요.

shadowBlur를 이용해 투명도를 지정하고 사각형을 그렸습니다.

 


01.jpg

 

 

 

이번에는 도형을 합치는 속성에 대해 알아보겠습니다.

 

*도형합성하기

도형을 합성하기 위해서 globalCompositeOperation 이라는 속성을 사용하는데요.

globalCompositeOperation은 여러가지 속성값을 가지고 있습니다.

 

context.fillStyle = 'red'; 

context.fillRect(10, 60, 150, 50);

context.fillStyle = 'blue'; 

context.fillRect(60, 10, 50, 150);

 

먼저 globalCompositeOperation 속성을 사용하지 않고 도형을 겹치게 설정한다면..

 

 

02.jpg

 

 

 

위 그림처럼 나중에 그려진 도형이 먼저 그려진 도형 위로 올라갑니다.

하지만 여러가지 속성의 값을 사용하여 합치는 형태를 바꿀 수 있습니다.

 

source-atop : 처음 그려진 도형 영역만 표시 -> 겹쳐진 부분은 나중에 그려진 도형이 표시됨

source-in : 나중에 그려진 도형의 겹쳐지는 부분만 표시됨

source-out : 나중에 그려진 도형에서 겹쳐지지 않는 부분만 표시됨

source-over : 처음 그려진 도형 위에 나중에 그려진 도형이 표시됨

destination-atop : 나중에 그려진 도형 영역만 표시 -> 겹쳐진 부분은 처음에 그려진 도형이 표시됨

destination-in : 처음에 그려진 도형의 겹쳐지는 부분만 표시됨

destination-out : 처음에 그려진 도형에서 겹쳐지지 않는 부분만 표시됨

destination-over : 나중에 그려진 도형 위에 처음에 그려진 도형이 표시됨

lighter : 두 도형이 모두 표시 -> 겹쳐진 부분은 두 색의 합을 구하여 표시됨

copy : 나중에 그려진 도형만 표시됨

xor : 두 도형이 모두 표시 -> 겹쳐진 부분은 투명하게 표시됨

darker : 두 도형이 모두 표시 -> 겹쳐진 부분은 두 색의 차이 값을 구하여 표시됨

 

 

03.jpg

 

 

 

이중에서 몇 가지 속성을 테스트 해보죠~

 

*source-in 테스트 입니다.

 

 

04.jpg

 

 

 

*destination-in 테스트 입니다.

 

 

05.jpg

 

 

 

*lighter 테스트 입니다.

 

 

06.jpg

 

 

 

*xor 테스트 입니다.

 

 

07.jpg

 

 

 

 

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

번호 제목 글쓴이 날짜 조회 수
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 860
109 성능을 위한 초간단 HTTP 304 Not Modified 구현 방법 file 황제낙엽 2018.03.07 816