웹마스터 팁

먼저, 예제입니다.

http://ezvice.com/bbs/png/png.htm

밑에 있는 세가지 그림은 모두 png파일입니다.
위의 컬러 이름 쓰여져 있는 것을 눌러보세요.
배경이 바뀌면서 png의 알파값도 같이 적용됩니다.
이것을 만드는 법을 소개하겠습니다.
참고로, 원 출처는 http://www.theaqua.com입니다.
스틱스님 홈페이지에 사용되었던 것입니다.

저 "png.htm"파일을 소스로 열어보면 아시다시피,
이 그림을 로딩하는 방법은 모두 "png.js"에 들어가 있습니다.
그럼 png.js를 열어보겠습니다.

if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
        document.writeln('<style type="text/css">img, input.image { visibility:hidden; } </style>');
        window.attachEvent("onload", fnLoadPngs);
}

function fnLoadPngs() {
        var rslt = navigator.appVersion.match(/MSIE (d+.d+)/, '');
        var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);

        for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--) {
                if (itsAllGood && img.src.match(/.png$/i) != null) {
                        var src = img.src;
                        img.style.width = img.width + "px";
                        img.style.height = img.height + "px";
                        img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')"
                        img.src = "spacer.gif";
                }
                img.style.visibility = "visible";
        }
}

이렇게 되어 있습니다.
여기서 중요한 부분은 몇 되지 않습니다.
바꿔야 할 부분은 거의 없고,
유념해야 할 것은, js를 htm파일에 경로를 제대로 입력하는 것과
끝에서 다섯번째 줄의 spacer.gif,
그리고 로딩하는 png가 꼭 " img src= " 구문으로 로딩되어야 한다는 것입니다.

저 spacer.gif는 가로 사이즈 1, 세로 사이즈 1의 투명한 gif로서,
표현한 png-24의 위를 살포시 덮어주는 역할을 하는데요,
이것 img.src = "images/spacer.gif";  구문을 없애버리면
알파값이 적용되지 않습니다.
이점 유의하시기 바랍니다.
그러므로, 저 구문의 "spacer.gif"에는
가로 1, 세로 1 사이즈의 투명한 gif파일을 로딩하면 되는 것입니다.

이것만 유념하시면 png-24의 알파값 이미지를 로딩할 수 있습니다.

업로드 #1은, 이 강좌에 사용된 png.js 파일입니다.

모르는 부분이 있으면 코멘트로 어택하시기 바랍니다. (관리자라는 위치상 쪽지로 질문 받을 수 없습니다)

* Nytoner님에 의해서 게시물 이동되었습니다 (2003-04-21 17:21)


출처 : http://www.theaqua.com
제목 글쓴이 날짜
초보자도 쉽게 이해할수있도록 주석을 자세히 달아놓은 APM 메뉴얼 (1 of 4) [3] Dopesoul 2002.12.18
초보자도 쉽게 이해할수있도록 주석을 자세히 달아놓은 APM 메뉴얼 (2 of 4) [4] Dopesoul 2002.12.18
초보자도 쉽게 이해할수있도록 주석을 자세히 달아놓은 APM 메뉴얼 (3 of 3) [2] Dopesoul 2002.12.21
[초초초(X999)허접강좌]사용자들이 하는 작업 강제 취소,IP막기 [5] -=:{Inuri}:=- 2002.12.21
잊을만하면 알려드립니다. issue.net 과 motd 파일 [5] Dopesoul 2002.12.28
APM 가장쉽게 설치하기!! [17] 7005425 2002.12.30
무료 호스팅 서버 만들기- 1부 [11] 장동민 2003.01.04
무료 호스팅 서버 만들기 -2부 [3] 장동민 2003.01.04
무료 호스팅 서버 만들기 -3부 장동민 2003.01.04
무료 호스팅 서버 만들기 -4부 [18] 장동민 2003.01.04
CrazyWWWboard Qdecoder 버퍼오버플로 취약점 (Crazywwwboard 사용중이신분들은 서비스를 중지하세요) [2] Dopesoul 2003.01.05
[펀글] Proftp 설치시 의존성 해결하기 [4] 강윤호 2003.01.10
보안쉘 ssh Dopesoul 2003.01.13
REDHAT CUPS와 LIBPNG 취약점 업데이트 패키지 [1] JunYa™ 2003.01.15
[Lindox] cron - 기본편[수정] [6] NeSTY♨™ 2003.01.18
여러강좌에서 본 내용들을 초보님들을 위해 정리했습니다 [2] 공유기시로! 2003.01.21
htaccss를 활용하자! 1탄 에러페이지 만들기 [10] [쿨럭]블루엔젤 2003.01.23
htaccss를 활용하자! 2탄 php 파일의 확장자를 커스터마이즈 해보자. [4] 앳플군 2003.01.23
htaccess를 활용하자 3탄! 사용자인증 [4] [쿨럭]블루엔젤 2003.01.23
htaccss를 활용하자! 4탄 ForceType 사용하기. [1] 앳플군 2003.01.24