sitelink1 http://kiara77.tistory.com/199 
sitelink2  
sitelink3  
sitelink4  
extra_vars5  
extra_vars6  

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

 

 

 

 

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

번호 제목 글쓴이 날짜 조회 수
105 웹접근성 관련 참고 사이트 황제낙엽 2017.07.05 75
104 [보안] 혼합 콘텐츠(Mixed Content) 방지 황제낙엽 2017.04.13 112
103 <img> image 엘리먼트에서 이미지를 base64로 인코딩해서 사용하기 file 황제낙엽 2017.04.01 977
102 [ActiveX] CAB파일 수동 설치(레지스트리 등록) 방법 황제낙엽 2017.03.16 3162
101 iframe 다루기 황제낙엽 2017.02.27 65
100 ActiveX 에서 CLASSID 가 맞지 않을때의 현상 황제낙엽 2017.02.17 187
99 HTML5 강좌 23강 - 위치 정보(Geolocation API), 지도 서비스 file 황제낙엽 2016.12.03 218
98 HTML5 강좌 22강 - 파일접근, 파일정보 file 황제낙엽 2016.12.03 103
97 HTML5 강좌 21강 - 웹 스토리지 file 황제낙엽 2016.12.03 55
96 HTML5 강좌 20강 - HTML5 태그 - 드래그 앤 드롭 file 황제낙엽 2016.12.03 140
95 HTML5 강좌 19강 - HTML5 태그 - 입력양식 form 사용 예제 file 황제낙엽 2016.12.03 141
94 HTML5 강좌 18강 - HTML5 태그 - 입력양식 form 사용하기 file 황제낙엽 2016.12.03 33
93 HTML5 강좌 17강 - HTML5 태그 - 입력양식 form 사용하기 file 황제낙엽 2016.12.03 92
92 HTML5 강좌 16강 - HTML5 태그 - 미디어 제어하기 file 황제낙엽 2016.12.03 29
91 HTML5 강좌 15강 - HTML5 태그 - 비디오 file 황제낙엽 2016.12.03 42
90 HTML5 강좌 14강 - HTML5 태그 - audio file 황제낙엽 2016.12.03 17
» HTML5 강좌 13강 - HTML5 태그 - canvas 그림자스타일,도형합성하기 file 황제낙엽 2016.12.03 61
88 HTML5 강좌 12강 - HTML5 태그 - canvas 채우기 스타일,그라데이션 file 황제낙엽 2016.12.03 135
87 HTML5 강좌 11강 - HTML5 태그 - canvas 베지에곡선, 선 스타일 file 황제낙엽 2016.12.03 85
86 HTML5 강좌 10강 - HTML5 태그 - canvas 원그리기 file 황제낙엽 2016.12.03 128