상세 컨텐츠

본문 제목

이미지 특수 효과 : BasicImage 필터

프로그래밍/스크립트

by 라제폰 2008. 12. 9. 09:14

본문

인터넷 익스플로러 5.5 이상을 사용하고 있다면 BasicImage 객체의 필터 기법 사용법을 익혀두는 것이 좋다. 몇 가지 속성 사용만으로도 훌륭한 이미지 프로세싱이 가능하기 때문이다.

BasicImage 필터를 사용하는 가장 간단한 방법은 다음과 같다:

HTML
<ELEMENT STYLE=
"filter:progid:DXImageTransform.Microsoft.BasicImage(sProperties)" ... >
스크립트
object.style.filter =
"progid:DXImageTransform.Microsoft.BasicImage(sProperties)"

결과부터 살펴 보도록 하자.

아래 "소스실행하기" 버튼을 클릭한 후 여러 옵션 상자들을 조절하여 BasciImage 필터 효과들을 살펴 보기 바란다.


전체 소스 코드는 위의 TextArea에 들어 있다.

전체 코드의 흐름은 다음과 같다:

  • 필터를 적용시킬 영역을 DIV 태그를 이용하여 filterDIV란 이름으로 정의한다.
  • 이 영역에 적당한 이미지를 삽입한다.
  • SELECT 태그를 이용히여 각각의 옵션을 설정한다.
  • 사용자가 옵션을 변경할 때 마다 filterDIV 영역에 필터를 적용시키고 다 이내믹하게 그와 관련된 소스 코드를 변경시킨다.

SELECT 태그에 들어 있는 ONCHANGE 이벤트에 대한 간단한 설명을 하자면,

  • 예를 들어, Rotation에 들어 있는 SELECT 태그를 보면, <SELECT onchange="oRotation.innerText=this.options[this.selectedIndex].value; filterDIV.filters.item(1).rotation=this.options[this.selectedIndex].value">와 같은 코드가 들어 있다.
  • 여기서 oRotation 객체는 <PRE ID=oCode>영역 안에 각  필터의 종류에 따라 <SPAN> 태그를 이용하여 정의해 놓은 객체명이다. 이 객체의 innerText 속성을 이용하여 해당 코드의 속성 값을 변경시킨다.
  • filterDIV 영역에 사용자가 변경한 필터 값을 적용시키기 위해 filterDIV.filters.item(1).rotation=this.options[this.selectedIndex].value를 사용한다.

여기서는 각 필터의 다양한 효과를 보여주기 위해 복잡하게 사용하였으나 아주 간단히 이미지에 opacity 값을 0.55로 하면서 90도 회전시킨 필터를 적용하려면 다음과 같이 하면 된다.

<img src="http://korea.internet.comhttp://korea.internet.com/images/kiwi134.gif" STYLE="filter:progid:DXImageTransform.Microsoft.BasicImage(
grayscale=0, xray=0, mirror=0, invert=0, opacity=0.55, rotation=1)">

<원본 이미지>

<결과>



관련글 더보기